将代理地址配置在 .env.development
或者其他文件中,然后在 vue.config.js
中使用 fs
读取配置文件中的代理地址。
一定要用 fs 去读取, 不能直接用process.env.VUE_APP_PROXY_API_ROOT
,或者通过导入引入, 因为这个变量是在编译时就已经确定了,而不是在运行时。
proxy: {
"/api": {
target: process.env.VUE_APP_PROXY_API_ROOT,
changeOrigin: true,
pathRewrite: {
"^/api": "",
},
router: (req) => {
return /^VUE_APP_PROXY_API_ROOT=(\S*)/m.exec(fs.readFileSync(".env.development", "utf-8"))[1];
},
},
},