vue.js 配置了前端代理却未能生效
记录一下最近踩得小坑:
配置完代理后请一定重新执行(重要,非常重要!)
npm run dev
若重新执行命令后,代理仍为生效,请按下方步骤进行检查:
检查index.js文件中的代理是否配置正确,示例如下:
proxyTable: {
"/api": { //代理标识
target: "http://xxx.xxx.xxx",//指向的实际地址
changeOrigin: true, // 允许跨域
pathRewrite: {
// 标识替换
// 原请求地址为 /api/getData 将"/api"替换""时,
// 代理后的请求地址为: http://xxx.xxx.xxx/getData
// 若替换为"/other",则代理后的请求地址为 http://xxx.xxx.xxx/other/getData
"^/api": ""
}
}
},
检查请求路径是否正确,以上方所配置的代理为例
// 请确认原请求中是否包含代理标识符
// 请确认接口 http://xxx.xxx.xxx/getData直接访问是否正常
this.$axios.get("/api/getData").then((r)=>{
console.log(r)
})
补充知识:vue使用proxyTable设置接口代理
1、修改config/index.js里proxyTable
proxyTable: {
"/api": {
target: "http://192.168.42.182:8080",
changeOrigin: true,
pathRewrite: {
"^/api": "/"
}
},
}
2、修改config/dev.env.js
module.exports = merge(prodEnv, {
NODE_ENV: ""development"",
API: ""/api"" // 加入这一句
})
3、设置axios的baseUrl
export default {
get (url, params) {
return axios({
method: "get",
baseURL: process.env.API, // 修改这里
url,
params,
timeout: 100000
}).then((response) => {
return checkStatus(response)
}).then((res) => {
return checkCode(res)
})
}
}
4、重启服务器 npm run dev就好啦~
以上这篇Vue使用Proxy代理后仍无法生效的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持云海天教程。
原文链接:https://blog.csdn.net/qq_36704798/article/details/104616900