※前提条件:本文基于 Vue 2.0 创作
在项目开发过程中,一般都是在同一域名下进行接口联调,且不存在跨域,但是当我们在使用vue-cli进行项目打包的时候,在本地启动服务器后,比如本地开发服务下是 http://localhost:8080 这样的访问页面,但是我们的接口地址是 http://xxxx.com/save/index ,这样直接使用会存在跨域的请求,导致接口请求不成功,因此需要在打包的时候进行代理配置。
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。
注意:
'/api': { target: 'http://192.168.0.73:8889/', //请求后台接口 // secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, // 如果接口跨域,需要进行这个参数配置 // pathRewrite: { // '^/api': '', // 重写请求 // }, },
所以按照上面的ProxyTable的写法,实际服务的配置路径里面不要出现 API
コメント: