欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue-cli3添加模式配置多环境变量的方法

程序员文章站 2022-07-05 20:51:21
vue-cli3配置多环境变量 先挂官网描述:环境变量和模式 需求 根据运行环境判断执行代码: 预发环境操作完成跳转地址与线上环境跳转地址不同 线上环...

vue-cli3配置多环境变量

先挂官网描述:环境变量和模式

需求

根据运行环境判断执行代码:

  • 预发环境操作完成跳转地址与线上环境跳转地址不同
  • 线上环境添加埋点脚本

实现

step1:在项目根目录中新建.env.uat

.env.uat配置如下:

vue_app_build_type=uat

vue-cli中规定,只有以 vue_app_ 开头的变量会被 webpack.defineplugin 静态嵌入到客户端侧的包中。

代码中可以通过 process.env.vue_app_secret 这样访问。

node_env 和 base_url 是两个特殊变量,在代码中始终可用

step2:修改 package.json

传递 --mode 选项参数为命令行覆写默认的模式。

"scripts": {
  "build": "vue-cli-service build",
  "build:uat": "vue-cli-service build --mode uat"
 }

step3:使用

// 是否预发部署
const is_uat = process.env.vue_app_build_type === 'uat'
const _url = is_uat ? 'http://a.123.com' : 'http://b.123.com'

// 是否添加埋点
const is_add_jaq = process.env.node_env === 'production' && !is_uat
if (is_add_jaq && loginuser) addjaq(loginuser)
 ...

优化

到这,功能已经实现了。

美滋滋地打个包,妈呀,体积也太大了:

vue-cli3添加模式配置多环境变量的方法

此处解决办法为强写 node_env ,最终.env.uat配置如下:

node_env=production
vue_app_build_type=uat

vue-cli3添加模式配置多环境变量的方法

这样子顺眼些了,但整个项目打包这部分还是有很大的优化空间,下期再干咯~

总结

以上所述是小编给大家介绍的vue-cli3添加模式配置多环境变量的方法,希望对大家有所帮助