问题描述
开发环境下跨域通过devServer配置处理,请求时采用this.$axios('/api/getList')的形式代理到后端服务器,那到生产环境devServer没有作用的情况下如何给每个请求添加上baseURL而不用一个个去改呢?大家是怎么处理的啊
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
module.exports = {
devServer: {
port: 8000,
proxy: {
'/api': {
"target": "http://servername.com,
"changeOrigin": true,
}
}
}
}
//.......
<script>
export default {
created() {
this.$axios.post('/api/getList').then( res => {
console.log(res)
})
}
}
</script>
方案有很多:
例如
const isDev = process.env.NODE_ENV === 'development'; const prefix = isDev ? 'api/' : ''
。这样就可以区分开发环境和生成环境的请求prefix。然后请求的时候 this.$axios.get(prefix + '/xxx')类似这样