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 相关文章推荐
究竟什么是Node.js?Node.js有什么好处?
May 29 Javascript
JSON简介以及用法汇总
Feb 21 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 Javascript
javascript中闭包概念与用法深入理解
Dec 15 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
Oct 13 Javascript
Express之托管静态文件的方法
Jun 01 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
Vue插槽原理与用法详解
Mar 05 Javascript
如何在微信小程序里面退出小程序的方法
Apr 28 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
前端框架ECharts dataset对数据可视化的高级管理
Dec 24 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获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
jquery 3D球状导航的文章分类
2010/07/06 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
python八大排序算法速度实例对比
2017/12/06 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
python中if嵌套命令实例讲解
2021/02/25 Python
英国工具中心:UK Tool Centre
2017/07/10 全球购物
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
大学生个人求职口试自我评价
2014/02/16 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
小学亲子活动总结
2014/07/01 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
法定代表人资格证明书
2014/09/11 职场文书
2015新学期开学寄语
2015/02/26 职场文书