一、使用场景
在我们本地开发Vue项目中,本地启动项目后,是以http:localhost:8080
这样的地址打开我们的项目,和后端本地联调时,访问的接口可能是http:xxx.com/query
,这种情况下会出现跨域请求,解决的方法需要在打包时候进行配置。
二、配置方法
在config / index.js 下进行如下配置
dev: {
proxyTable: {
'/api':{ // 为匹配项
target:'xxx', // 接口域名
changeOrigin:true, // 接口跨域需要配置该参数
secure:false, // https协议时配置为true,是否验证ssl证书
pathRewrite:{
'^/api': '', // 重新目标的url路径
}
}
}
}
需要注意的事: ‘/api’ 为匹配项,target 为被请求的地址,因为在 ajax 的 url 中加了前缀 ‘/api’,而原本的接口是没有这个前缀的,所以需要通过 pathRewrite 来重写地址,将前缀 ‘/api’ 转为 ‘/’。如果本身的接口地址就有 ‘/api’ 这种通用前缀,就可以把 pathRewrite 删掉。