vue项目多环境配置(.env)的实现


Posted in Vue.js onJuly 21, 2021

没接触多环境配置前,感觉好高大上,真正操作后感觉也就那么回事,在此把自己遇到的问题和解决方案叙述一下,有不对的地方欢迎各位大佬指出。

什么是多环境配置,为什么要多环境配置?

最常见的多环境配置,就是开发环境配置,和生产环境配置(也就是上线的配置),很多情况下我们开发环境下的域名,和一些配置项,和我们生产模式下的不同,这个时候就需要我们进行多环境配置,不然每次发版都要改一波数据多麻烦。另一种情况就是你两个项目是用的一套代码,但是最后又要分别打成不同的包,那么这个时候多环境配置就大大提升了开发效率。

.env 文件配置到哪里

.env文件配置在你项目的根目录里面和package.json同级如下图。

vue项目多环境配置(.env)的实现

.env文件如何配置,配置多少个?

.env文件如何命名?
最开始我在网上查的时候好多博主说名字必须命名成
.env.development 开发环境下的配置文件
.env.production 生产环境下的配置文件
其实不是的,如果你配置的是开发环境和生产环境那么这样命名,无可厚非,但是你如果是多项目公用代码,这样命名就有点驴头不对马嘴。所以这块的命名格式只需要文件开头为.env即可,后面的名字你想怎样都可以

.env文件的配置

这块就是你想用什么东西就配置什么东西,打个比方我想在项目全局拿到一个名字,那你就直接.env里面配置就ok了,下面我会详细叙述如何取值。

npm run serve 或者npm run build 的时候,会默认走.env的配置

图示:

vue项目多环境配置(.env)的实现

//这块只需要 VUE_APP_*** 以这样的形式命名就ok了,后面大写还是小写这块看你心情都可以。
VUE_APP_NAME = '娄渊洋'
VUE_APP_HTTPS = 'http://www.louhc.com/'
VUE_APP_ABBREVIATION = 'louhc'
VUE_APP_LOGO = 'louhc'

默认的.env文件配置好后,我们接着配置有特殊需求的.env文件,比如我想让在另一种环境下使用 其他的名字。例如 .env.bsy文件 .bsy是我随便写的名字这块可以自定义。

//这块只需要 VUE_APP_*** 以这样的形式命名就ok了,后面大写还是小写这块看你心情都可以。
VUE_APP_NAME = '白衫云'
VUE_APP_HTTPS = 'http://www.louhc.com:82/'
VUE_APP_ABBREVIATION = 'bsy'
VUE_APP_LOGO = 'bsy'

依次类推你想配置多少个都可以
.env文件配好后我们就该配置运行环境了

如何配置运行环境

找到package.json文件,如下图

vue项目多环境配置(.env)的实现

build: 和 serve: 后面跟的名字就是你随便起的名字一定要对应上,这在运行的时候才能找到相应的配置项。

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "build:bsy": "vue-cli-service build --mode bsy",
    "build:kthz": "vue-cli-service build --mode kthz",
    "serve:bsy": "vue-cli-service serve --mode bsy",
    "serve:kthz": "vue-cli-service serve --mode kthz",
  },

再次多说一点:.env是默认配置项,当运行环境配置项的时候,会将默认配置项和运行的环境配置项融合,在参数相同的情况下,会以环境配置项为主,简单来说就是,默认配置项存在,环境配置项也存在,这个时候运行哪个环境配置项,就以哪个环境配置项的值为准,如果默认配置项存在,环境配置项不存在,那么运行环境配置项的时候同样也可以拿到默认配置项的值。

如何获取全局配置项的值

例子:如何我想在js中拿到 VUE_APP_NAME = ‘娄渊洋',那么这直接在你想赋值的地方写上这行代码即可 process.env.VUE_APP_NAME

console.log(process.env.VUE_APP_NAME)// 默认环境下打印的就是娄渊洋 bsy 环境下就是 白衫云

如果我们项在html中使用全局配置项的值,需要我们先在return 中赋值一下,然后 才可以通过 {{}},拿到你想要用的值。

如何运行环境

运行默认环境 npm run serve
运行指定的环境 npm run serve:bsy
默认环境打包 npm run build
指定环境打包 npm run build:bsy
只需切换不同的环境名即可

到此这篇关于vue项目多环境配置(.env)的实现的文章就介绍到这了,更多相关vue 多环境配置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
Vue仿百度搜索功能
Dec 28 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
vue如何使用rem适配
Feb 06 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
关于vue中如何监听数组变化
Apr 28 Vue.js
Vue + iView实现Excel上传功能的完整代码
Jun 22 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
ant design vue的form表单取值方法
Jun 01 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 #Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 #Vue.js
Vue项目打包、合并及压缩优化网页响应速度
idea编译器vue缩进报错问题场景分析
Vue实现导入Excel功能步骤详解
Vue图片裁剪组件实例代码
vue3中provide && inject的使用
Jul 01 #Vue.js
You might like
搜索引擎技术核心揭密
2006/10/09 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
修改好的jquery滚动字幕效果实现代码
2011/06/22 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
python Crypto模块的安装与使用方法
2017/12/21 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python实现浪漫的烟花秀
2019/01/30 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
发现世界上最好的珠宝设计师:JewelStreet
2017/12/17 全球购物
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
外企求职信范文分享
2013/12/31 职场文书
初二政治教学反思
2014/01/12 职场文书
驾驶员岗位职责
2014/01/29 职场文书
青年文明号创建承诺
2014/03/31 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript