axios 配置baseUrl,在开发模式下为 ‘/api’,供代理服务器识别
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
const instance = axios.create({
withCredentials: true,
baseURL: IS_PROD ? 'https://www.xxx.com' : '/api',
timeout: 1000 * 60 * 10,
})
vue.config.js proxy 配置
let cookie = ''
devServer: {
port: 9000,
open: false,
overlay: {
warnings: false,
errors: true,
},
proxy: {
'/api': {
target: 'https://www.xx.com',
secure: false,
ws: false,
changeOrigin: true,
pathRewrite: {
'^/api': '',
},
onProxyReq(proxyReq, req, res) {
if (cookie) {
proxyReq.setHeader('cookie', cookie)
}
},
onProxyRes(proxyRes, req, res) {
if (!cookie) {
cookie = proxyRes.headers['set-cookie']
}
},
},
},
}