前言

在.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
  }
}

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐