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 相关文章推荐
推荐11款jQuery开发的复选框和单选框美化插件
Aug 02 Javascript
jquery validate poshytip 自定义样式
Nov 26 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
在JSP中如何实现MD5加密的方法
Nov 02 Javascript
微信小程序实现图片轮播及文件上传
Apr 07 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
Jun 13 Javascript
浅谈sass在vue注意的地方
Aug 10 Javascript
带你快速理解javascript中的事件模型
Aug 14 Javascript
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
JavaScript栈和队列相关操作与实现方法详解
Dec 07 Javascript
原生JS实现汇率转换功能代码实例
May 13 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访问查询mysql数据的三种方法
2006/10/09 PHP
php学习之流程控制实现代码
2011/06/09 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
IE8 下的Js错误HTML Parsing Error...
2009/08/14 Javascript
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
ExpressJS入门实例
2015/01/14 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
BootStrap 模态框实现刷新网页并关闭功能
2017/01/04 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
python中的unittest框架实例详解
2021/02/05 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
营销主管自我评价怎么写
2013/09/19 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
财务审计整改报告
2014/11/06 职场文书
护士辞职信怎么写
2015/02/27 职场文书
小学生表扬稿范文
2015/05/05 职场文书