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 相关文章推荐
JavaScript中使用arguments获得函数传参个数实例
Aug 27 Javascript
jQuery实现购物车计算价格功能的方法
Mar 25 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
利用vueJs实现图片轮播实例代码
Jun 03 Javascript
深入理解Vue transition源码分析
Jul 30 Javascript
详细分析单线程JS执行问题
Nov 22 Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
Node.js之readline模块的使用详解
Mar 25 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
Apr 26 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
Jan 21 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
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
Yii实现简单分页的方法
2016/04/29 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jquery实现图片裁剪思路及实现
2013/08/16 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python装饰器decorator介绍
2014/11/21 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
如何基于Python创建目录文件夹
2019/12/31 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
keras 读取多标签图像数据方式
2020/06/12 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
保密承诺书范文
2014/03/27 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书