(四)构建基础进阶-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

Vuejs 基础学习教程的更多相关文章

  1. C++基础学习教程(八)

    转载请注明出处:http://blog.csdn.net/suool/article/details/38300117 引入 在进行下一步的学习之前,我们须要厘清几个概念. RAII 首先介绍一个编程 ...

  2. C++基础学习教程(一)

    開始自己的C++复习进阶之路. 声明: 这次写的博文纯当是一个回想复习的教程.一些非常基础的知识将不再出现.或者一掠而过,这次的主要风格就是演示样例代码非常多~~~ 全部代码在Ubuntu 14.04 ...

  3. spring boot基础学习教程

    Spring boot 标签(空格分隔): springboot HelloWorld 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新 ...

  4. webpack从0到1超详细超基础学习教程

    概念 自己是一个一听到webpack就头大,看着一堆不知道那是什么玩意的东西总觉得自己做好前端就行了,但是在使用vue-cli的时候总觉得要改其中的一些东西进行项目初始化的时候能够更好使用!所以想要根 ...

  5. C++基础学习教程(六)----类编写的前情回想以及项目实战(1)

    在開始类的编写之前我们依旧须要回想整理一下前面所说的内容,(前面尽管是一个自己定义数据类型的实现过程,可是内容有点繁杂). 先看一段代码: /** @file calssStruct.cpp */ / ...

  6. C++基础学习教程(五)

    这一讲我们集中解说类和他的一些特性.首先我们从自己定义一个有理数类来開始. 在C语言中有一个keyword: struct ,用来创建一个结构体类型.可是在C++中这个关键的含义就不只如此了,以下我们 ...

  7. C++基础学习教程(三)

    承接上一讲. 2.7文件I/O 关于读写文件,C++中有一个专门的头文件<fstream>. 首先是读文件演示样例,例如以下: </pre><pre> /***** ...

  8. C++基础学习教程(七)----类编写及类的两个特性解析---&gt;多态&amp;继承

    类引入 到眼下为止我们所写的自己定义类型都是keywordstruct,从如今起我们将採用class方式定义类,这样的方式对于学习过其它高级语言包含脚本(Such as Python)的人来说再熟悉只 ...

  9. javascript 基础学习教程

    http://www.itxueyuan.org/javascript/jiaocheng_2/

随机推荐

  1. shell实现99乘法表

    #!/usr/bin/env sh for ((x=1;x<10;x++));do for ((y=1;x>=y;y++));do printf "${y}x${x}=$(exp ...

  2. Java入门-jdk安装与环境搭建

    计算机 计算机的组成:硬件+软件 1.硬件 1.1CPU 好比人的大脑 主要负责数据的运算以及控制 1.2内存 存储数据(临时存储) 缺点: 如果断电,数据丢失 如果程序关闭或退出,数据丢失 1.3硬 ...

  3. oop的三大特性和传统dom如何渲染

    OOP的三大特性是什么: 封装 :就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系继承:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写.继承增加了 ...

  4. LeetCode701 二叉搜索树中插入结点

    给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树. 返回插入后二叉搜索树的根节点. 保证原始二叉搜索树中不存在新值. 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜 ...

  5. 【Dart】语言概述

    // 导入(import) // 导入核心库 //导入外部库 import 'package:test_api/test_api.dart'; // 导入文件 //import 'path/test. ...

  6. Tomcat-8 安装和配置

    JDK 安装: # 选择版本: yum list all | grep jdk # 安装openjdk-1.8.0: yum install java-1.8.0-openjdk.x86_64 -y ...

  7. win10/windows 安装Pytorch

    https://pytorch.org/get-started/locally/ 去官网,选择你需要的版本. 把 pip install torch==1.5.0+cu101 torchvision= ...

  8. 分布式系统:分布式任务调度xxl-job较深入使用

    目录 系统关键概念介绍 执行器 任务 任务配置项描述 阻塞策略 路由策略 日志问题 客户端日志 服务端日志 框架目前发现的缺点以及存在的问题 xxl-job是一个分布式定时任务调度框架,功能强大,底层 ...

  9. 在recover database时,如何决定该从哪一个SCN开始恢复

    使用备份恢复的方法搭建DG库,还原数据文件后,打开数据库时报错 SQL> ALTER DATABASE OPEN READ ONLY; ALTER DATABASE OPEN READ ONLY ...

  10. PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)

    说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...