在打包后,原本的接口请求地址全部变成了app://. 开头,如果你本地开发的时候配置了devServer的proxy,那么访问接口路径会变成app://./api/接口地址(假如代理了/api)加载本地资源文件是没有任何问题。
解决方案
vue.config.js中不使用devServer(如果实在要用,那就根据当前是否是开发环境配置是否使用devServer,axios也需要加判断)
module.exports = {
publicPath: '/',
devServer: {}
}
axios实例化之前添加如下代码
axios.defaults.baseURL = process.env.VUE_APP_PROXY_TARGET //根据环境变量设置不同的baseURL
const instance = axios.create({// 实例化axios
timeout: httpTimeout, // request timeout
})