(四)构建基础进阶-env文件与环境设置

我们在实际开发中,我们一般会经历项目的开发阶段,测试阶段,和最终上线阶段,每个阶段对于项目代码的需要可能都有所不同,那我们怎么让它在不同阶段呈现不同的效果呢?我们下面看一下环境是不是可以解决这个问题呢?

介绍

1、配置文件

正确的配置环境首先我们要认识一下不同配置之间的关系。随便画个图表示一下:

这里说的是最全的的可能,我们可以看到不同的环境有着不同的配置,他们之间还有一些交集,就是他们的公公配置,那么我们思考一下在vue中我们需要怎么处理?
其实很简单,就是在项目的跟目下创建不同的环境变量配置:
如:
.env 表示在所有环境中被载入
.env.local 表示在所有环境中被载入,但是git会自动忽略
.env.[mode] 表示只有指定的模式才会载入
.env.[mode].local 表示只有在指定的模式才会载入,但是会被git自动忽略
比如,我们在本地创建几个环境配置,如下图:

以.env.dev这个文件为例子,看一下这个文件中的环境变量怎么写

在脚本管理配置中加载这种环境模式试一下

马上启动一下看看这种环境是否生效

可以看到这种环境配置事情作用了的。

这里其他的环境我们就不做详细讲解了,基本都八九不离十,这里我需要记录一下我测试的一些小发现,这些环境配置的优先权重是怎么样的呢。直接上干货:.env.[mode].local > .env.[mode] >.env.local >.env .
但是这里说一下,除了环境的配置权重,不同的配置他们会进行合并操作,类似于Object.assign的用法。

2、额外配置

我们还可以通过新建配置文件的方式为不同的环境配置不同的变量,但是我们发现.env这种文件好像仅仅支持静态值。那怎么办,这里我想了一下发现可以手动在根目录下创建一个自己的配置文件。

我们还可以直接在vue.config.js中直接注入这些动态地配置,这里可以查阅一下chainWebpack这个属性来修改DefinePlugin的值,我们看一下官网的写法。

总结

环境的配置和管理对于项目的构建很重要,通过不同的项目配置可以增加灵活性,提高程序的扩展性,也可以帮我们有效的分析和定位不同环境下的运行机制和问题。

http://www.dtmao.cc/news_show_1309867.shtml

最新文章

  1. nginx----------------环境搭建遇到的一些问题汇总--(多域名配置,配置文件修改问题)
  2. monitor disk
  3. b/s开发者的困境
  4. Maven实战(三)Eclipse构建Maven项目
  5. winform开发中绑定combox到枚举
  6. 【JAVA - SSM】之MyBatis的ParameterType的使用
  7. [转]Linux下转换字符集(UTF8转换)
  8. QSqlDatabase的进一步封装(多线程支持+更加简单的操作)——同时支持MySQL, SQL Server和Sqlite
  9. C++ ABI之名字改变,编译器生成符号研究(以Qt为例)
  10. bzoj 4719: [Noip2016]天天爱跑步
  11. sqlserver中批量导出所有作业或链接脚本
  12. jvm看java.lang.OutOfMemoryError: PermGen space
  13. [SQL ERROR 800]Corresponding types must be compatible in CASE expression.
  14. CentOS7 之基础设置及常见操作命令
  15. adb调试功能
  16. 编程开发之--java多线程学习总结(3)类锁
  17. 【vue】todolist小练习
  18. 一、IOC和DI的概念
  19. web-project 故障查看功能 检测是否启动fmd服务
  20. 【模拟】Flo's Restaurant

热门文章

  1. 2020 年度编程语言排行榜出炉!C 语言称霸,Java 遭遇滑铁卢…….
  2. 【Spring】Spring JdbcTemplate
  3. 【Flutter】功能型组件之数据共享
  4. Centos 6 下安装 OSSEC-2.8.1 邮件告警 (二)
  5. Python基础语法5-控制流语句
  6. buuctf刷题之旅—web—EasySQL
  7. MYSQL(将数据加载到表中)
  8. 中断与系统调用深度分析(以网络编程接口SocketAPI为例)
  9. uni-app开发经验分享十五: uni-app 蓝牙打印功能
  10. Redis 实战 —— 06. 持久化选项