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 相关文章推荐
ASP Json Parser修正版
Dec 06 Javascript
javascript在事件监听方面的兼容性小结
Apr 07 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
Aug 14 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
详解vue-validator(vue验证器)
Jan 16 Javascript
laravel5.4+vue+element简单搭建的示例代码
Aug 29 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
Angular5给组件本身的标签添加样式class的方法
Apr 07 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
Oct 30 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抓取https的内容的代码
2010/04/06 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
PHP中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
JavaScript静态作用域和动态作用域实例详解
2019/06/17 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python发送告警邮件脚本
2018/09/17 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
python datetime处理时间小结
2020/04/16 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
金智子午JAVA面试题
2015/09/04 面试题
Python如何定义一个函数
2015/09/01 面试题
2014年财务工作自我评价
2014/09/23 职场文书
公司庆典欢迎词
2015/01/26 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
MySQL的存储过程和相关函数
2022/04/26 MySQL