vue-cli配置环境变量 
cross-env配置与说明 
vue.config.js配置环境变量方案一 
js
// yarn add cross-env -D
// package.json script配置
{
  "serve": "cross-env BUILD_ENV=dev vue-cli-service serve", // run本地
  "build:test": "cross-env BUILD_ENV=test vue-cli-service build", // 构建测试环境
  "build:prod": "cross-env BUILD_ENV=prod vue-cli-service build" // 构建生产环境
}js
// vue.config.js
// 1. cross配置后,只能在vue.config.js中通过process.env.XXX能够访问到自定义的环境key:value
console.log(process.env.BUILD_ENV)
// 2. vue-cli4提供的全局环境变量配置,格式必须是process.env.VUE_APP_XXX格式
process.env.VUE_APP_BUILD_ENV = process.env.BUILD_ENV
// 3. 在整个项目中访问:process.env.VUE_APP_BUILD_ENV
- 也可以在root目录配置成文件,例如:.env.xxx,见 官网文档
vue.config.js配置环境变量方案二【推荐】 
js
chainWebpack: config => {
    config
        .plugin('define')
        .tap(options => { 
          // options: [ { 'process.env': { NODE_ENV: '"development"', BASE_URL: '"/"', IS_ELECTRON: true }, __static: '"D:\\xxxx\\public"' } ]
          // 必须序列化一次
          options[0]['process.env'].BUILD_ENV = JSON.stringify(process.env.BUILD_ENV)
          // 这样也可以,原理同上
          // options[0]['process.env'].BUILD_ENV = `"${process.env.BUILD_ENV}"`
          // definePlugin处理value如果是一个字符串,它将会被当做code片段,因此需要序列化
          // options[0]['process.env'].BUILD_ENV = process.env.BUILD_ENV
          return options
        })
}注意
推荐使用方案二配置环境变量,方案一访问环境变量需要加前缀VUE_APP_*
使用 
js
// /* 开发目录
console.log(process.env.BUILD_ENV) // dev、test、prod