如何从Vue的网页动态更改axios的baseURL?

时间:2019-06-07 02:40:16

标签: vue.js axios

我在带有Spring Boot的Vue项目中使用axios。我想在本地和云(IBM的云铸造厂)上对其进行测试。

现在我在main.js中使用这样的axios:

var axios = require('axios')
//axios.defaults.baseURL = 'https://demoproject2.au-syd.mybluemix.net/api'
axios.defaults.baseURL = 'https://demoproject1.au-syd.cf.appdomain.cloud/api'
// axios.defaults.baseURL = 'http://localhost:8090/api'
Vue.prototype.$axios = axios

每次我将其上传到云中时,都必须更改axios的baseURL并重建它... 有一个更好的方法吗?我可以从Vue页面更改网址吗? 我已经搜索过,并且有一些类似的问题,例如:Vue Axios Dynamic URL,但看起来并不完全是这个问题...

1 个答案:

答案 0 :(得分:0)

假设您已经从Vue CLI v3创建了此应用程序,则可以定义environment variables并将其用于各种构建。

例如,在您的代码中

axios.defaults.baseURL = process.env.VUE_APP_API_BASE

并在您的应用目录中...

  • .env

    VUE_APP_API_BASE=http://localhost:8090/api
    
  • .env.production

    VUE_APP_API_BASE=https://demoproject1.au-syd.cf.appdomain.cloud/api