前言
在.env.development文件中设置全局变量的时候发现并没有生效,问题查了好久,终于在https://segmentfault.com/q/1010000016412563?sort=created
找到问题所在,当然他和遇到的问题不一样。好在知道问题所在,只有申明前缀为VUE_APP_的配置才能生效。
问题所在
在这个文件下面@vue/cli-service/lib/util/resolveClientEnv.js
有如下内容
const prefixRE = /^VUE_APP_/
module.exports = function resolveClientEnv (options, raw) {
const env = {}
Object.keys(process.env).forEach(key => {
if (prefixRE.test(key) || key === 'NODE_ENV') {
env[key] = process.env[key]
}
})
env.BASE_URL = options.publicPath
if (raw) {
return env
}
for (const key in env) {
env[key] = JSON.stringify(env[key])
}
return {
'process.env': env
}
}