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 相关文章推荐
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
jquery中使用ajax获取远程页面信息
Nov 13 Javascript
js转义字符介绍
Nov 05 Javascript
js日期联动示例
May 02 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
浅谈键盘上回车按钮的js触发事件
Feb 13 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
Oct 16 Javascript
webpack4之如何编写loader的方法步骤
Jun 06 Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
基于javascript实现碰撞检测
Mar 12 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 flv视频时间获取函数
2010/06/29 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
onpropertypchange
2006/07/01 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
JavaScript记录光标在编辑器中位置的实现方法
2016/04/22 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
英国森林假期:Forest Holidays
2021/01/01 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
总经理职责
2013/12/22 职场文书
师生聚会感言
2014/01/26 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
公司授权委托书样本
2014/09/15 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
政风行风整改报告
2014/11/06 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL
python中的sys模块和os模块
2022/03/20 Python