npm和代理服务以及引入各种外部资源的配置

1、 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

安装cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
修改npm默认为cnpm:
npm config set registry https://registry.npm.taobao.org

2、安装vue-lic工具

 npm install -g vue-cli 

3、安装webpack

npm install --save-dev webpack	

4、初始化vue-cli

vue init webpack +项目名

5、安装jqery和bootstarp

(1)、npm/cnpm install jQuery
(2)、修改webpack.base.conf.js文件:
	在头部加上var webpack = require('webpack');
	在node属性的plugins属性里加上
	plugins: [
	    new webpack.optimize.CommonsChunkPlugin('common.js'),
	    new webpack.ProvidePlugin({
	      jQuery: "jquery",
	      $: "jquery",
	      "windows.jQuery": "jquery"
	    })
	  ]
(3)、main.js里面导入:
import $ from ‘jquery’
import ‘…/static/bootstrap-3.3.7-dist/css/bootstrap.css’;
import ‘…/static/bootstrap-3.3.7-dist/js/bootstrap.min’;

6、安装vuex

npm install vuex --save

7、安装element-ui

npm i element-ui -S
在main.js引入element-ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
然后vue使用引入的ElementUI
Vue.use(ElementUI);

8、代理相关配置

(1)、安装axios

npm install --save axios

(2)、axios配置:

<1>请求工具类util.js

	//引入axios
	import axios from 'axios';
	//设置api接口和imgPath根路径
	const Util={
	  apiPath:'/apis',
	  imgPath:''
	}
	//声明axios发送请求的方法ajax,设置发送请求的根路径为apiPath,
	// 也就是说不管什么地方调用Util.ajax方法
	// 路径都为Util.apiPath+req路径
	  Util.ajax=axios.create({
	    baseURL:Util.apiPath
	  });
	
	//声明axios发送请求的方法ajax返回结果后的拦截器
	Util.ajax.interceptors.response.use(res=>{
	  return res.data;
	 })
	
	//导出Util
	export default Util;
	
说明:
	是axios请求的工具js,用于在设置axios请求的根路径(/apis),设置返回后结果的处理:
	Util.ajax.interceptors.response.use(res=>{
		  return res.data;
	 })

<2>main.js

	// 引入util.js
	import util from './libs/util.js';
	// 设置全局变量$axios
	Vue.prototype.$axios = util;

(3)、config/index.js文件

<1>配置代理服务:

dev: {
	    // Paths
	    assetsSubDirectory: 'static',
	    assetsPublicPath: '/',
	    proxyTable: {
	      '/apis':{
	        target: "https://cnodejs.org/api/v1",
	        changeOrigin:true,
	        pathRewrite:{
	          '^/apis':'/'
	        }
	      }
	    }

(4)、总说明:

vue-lic项目自带服务器,
当需要请求数据接口的时候,会遇到跨域的问题,这时候就需要修改config/index.js文件的proxyTable属性。
(1)、'/apis':  这里于util.js里面的axios请求根路径对应,项目中的请求,只要是请求路径为/apis,j就会执行'/apis':{}里面的配置
(2)、target:目标路径:https://cnodejs.org/api/v1
(3)、changeOrigin:true:跨域
(4)、pathRewrite:重写:这里的意思是,当路径里面有apis的时候,就将apis字符替换为''。

以上配置之前,项目中只要是this.$axios.ajax.get或者this.$axios.ajax.post,最终的路径为:
(1)、首先是/apis+url
(2)、请求到本地服务器,因为config/index.js里面配置了proxyTable,所以会根据/apis找到相应的配置
(3)、所有路径就变成了"https://cnodejs.org/api/v1"+"/apis"+url
(4)、因为设置了路径重写,会替换所有的/apis为空,最终的路径为:
https://cnodejs.org/api/v1+url
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值