Vue CLI 3(三)—— 配置不同环境下数据请求域名,即axios的baseUrl

前面讲完了vue cli3的相关配置,现将数据请求域名配置单独拉出来讲。

vue的配置里vue.config.js中相关的教程有讲过,开发环境下,配置后端API 服务器,可使用devServer.proxy。但通常情况下,项目在开发环境下请求的接口地址和生产环境下的不一样,需要根据不同的环境,切换不同的接口地址域名。

上篇文章中,本人直接配置在了api.js中:

axios.defaults.baseURL = process.env.NODE_ENV === 'development' ? 'http://localhost:8085' : 'http://localhost:8080'

这种做法是可以的,但在后期的维护中有众多不便,例如,要更改这个地址的时候,每次还需要找到项目中的这个文件,然后在代码中修改。

以下开讲,配置不同环境下多个后台接口域名。

新增文件,在与package.json同级目录下,即根目录下,新增两个文件:

.env.production(注意:这里的文件名就叫这个,不要再加后缀名):

module.exports = { // 生产环境下配置
  NODE_ENV = 'production'
  VUE_APP_BASE_API = 'http://localhost:8085' //请求后台域名
  VUE_APP_VERSION = '0.0.1' // 版本号
}

.env.development:

module.exports = { // 开发环境下配置
  NODE_ENV = 'development'
  VUE_APP_BASE_API = 'http://localhost:8080' // 接口域名
  VUE_APP_VERSION = '0.0.2' // 版本号
}

注意注意:官方说明:只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。

这样,在构建过程中,process.env.VUE_APP_BASE_API 将会被相应的值所取代。在 VUE_APP_BASE_API=‘sercet的情况下,它会被替换为 "sercet"

重新启动项目:

npm run serve

打印出process.env:

在api.js中配置baseUrl:

axios.defaults.baseURL = process.env.VUE_APP_BASE_API

进行数据请求:

这样,在以后的开发过程中,如需改变请求域名,更改配置的两个文件即可。

参考文章:https://www.jianshu.com/p/755387aa8edf

完。

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值