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


Posted in Javascript onJune 05, 2019

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添加模式配置多环境变量的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
在视频前插入广告
Nov 20 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
Nov 30 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
Dec 09 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
AngularJS中filter的使用实例详解
Aug 25 Javascript
js+html5生成自动排列对话框实例
Oct 09 Javascript
vue-router history模式下的微信分享小结
Jul 05 Javascript
vue实现文件上传功能
Aug 13 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
ZK中使用JS读取客户端txt文件内容问题
Nov 07 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
Jun 05 #Javascript
js实现随机8位验证码
Jul 24 #Javascript
Vue中全局变量的定义和使用
Jun 05 #Javascript
详解express使用vue-router的history踩坑
Jun 05 #Javascript
laravel-admin 与 vue 结合使用实例代码详解
Jun 04 #Javascript
用webpack4开发小程序的实现方法
Jun 04 #Javascript
JS实现的对象去重功能示例
Jun 04 #Javascript
You might like
php面向对象 字段的声明与使用
2012/06/14 PHP
PHP引用的调用方法分析
2016/04/25 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
JavaScript 利用Cookie记录用户登录信息
2009/12/08 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
python实现同时给多个变量赋值的方法
2015/04/30 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
详解Python 最短匹配模式
2020/07/29 Python
大学生求职推荐信
2013/11/27 职场文书
高中数学教学反思
2014/01/30 职场文书
五一活动标语
2014/06/30 职场文书
个人查摆剖析材料
2014/10/04 职场文书
感谢信格式范文
2015/01/22 职场文书
2015年个人审计工作总结
2015/04/07 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android