webpack+vue-cil 中proxyTable配置接口地址代理html
在项目开发的时候,接口联调的时候通常都是同域名下,且不存在跨域的状况下进行接口联调,可是当咱们如今使用vue-cli进行项目打包的时候,咱们在本地启动服务器后,好比本地开发服务下是 http://localhost:8080 这样的访问页面,可是咱们的接口地址是 http://xxxx.com/save/index 这样的接口地址,咱们这样直接使用会存在跨域的请求,致使接口请求不成功,所以咱们须要在打包的时候配置一下,咱们进入 config/index.js 代码下以下配置便可:vue
dev: { // 静态资源文件夹 assetsSubDirectory: 'static', // 发布路径 assetsPublicPath: '/', // 代理配置表,在这里能够配置特定的请求代理到对应的API接口 // 例如将'localhost:8080/api/xxx'代理到'www.example.com/api/xxx' // 使用方法:https://vuejs-templates.github.io/webpack/proxy.html proxyTable: { '/api': { target: 'http://xxxxxx.com', // 接口的域名 // secure: false, // 若是是https接口,须要配置这个参数 changeOrigin: true, // 若是接口跨域,须要进行这个参数配置 pathRewrite: { '^/api': '' } } }, // 本地访问 http://localhost:8080 host: 'localhost', // can be overwritten by process.env.HOST
接口地址本来是 /save/index,可是为了匹配代理地址,在前面加一个 /api, 所以接口地址须要写成这样的便可生效 /api/save/index。webpack
注意: '/api' 为匹配项,target 为被请求的地址,由于在 ajax 的 url 中加了前缀 '/api',而本来的接口是没有这个前缀的,因此须要经过 pathRewrite 来重写地址,将前缀 '/api' 转为 '/'。若是自己的接口地址就有 '/api' 这种通用前缀,就能够把 pathRewrite 删掉。git