关于vue .env文件中写的变量,结果被解析成字符串的问题

比如我的.env.development如下

VUE_APP_HOSTNAME = 120.25.155.46'

 比如我的.env.production如下

VUE_APP_HOSTNAME ='window.location.hostname'

需求是动态获取主机名,直接这样写是不行的,会解析成字符串

const instance = axios.create({
  baseURL: process.env.VUE_APP_HOSTNAME,
  timeout: 10000
})

需要这样写

const instance = axios.create({
  baseURL: eval(process.env.VUE_APP_HOSTNAME),
  timeout: 10000
})

生产环境是解决了,当开发环境就有问题了,报错是

 SyntaxError: Unexpected number

 解决如下,把开发环境代码换成这个

VUE_APP_HOSTNAME = (() => '120.25.155.46')()

就好了

如果对你有帮助,就点个赞吧

你可能感兴趣的:(npm,前端,node.js)