vue cli中环境变量和模式

环境变量配置

环境变量可以在以下文件中配置:

.env                # 在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入
.env.[mode].local   # 只在指定的模式中被载入,但会被 git 忽略
(.local优先于.env生效)

文件内部使用键值对的方式对变量进行配置
被载入的变量将会对 vue-cli-service 的所有命令、插件和依赖可用,同时为一个特定模式准备的环境文件的 (例如 .env.production) 将会比一般的环境文件 (例如 .env) 拥有更高的优先级。

模式

默认情况下,一个 Vue CLI 项目有三个模式:
1.development 模式用于 vue-cli-service serve
2.production 模式用于 vue-cli-service build 和 vue-cli-service test:e2e
3.test 模式用于 vue-cli-service test:unit
注意模式不同于NODE_ENV,一个模式可以包含多个环境变量,即每个模式都会将NODE_ENV的值设置为模式的名称——比如在development 模式下NODE_ENV的值会被设置为"development"。
可以通过为 .env 文件增加后缀来设置某个模式下特有的环境变量。比如,如果在项目根目录创建一个名为 .env.development 的文件,那么在这个文件里声明过的变量就只会在 development 模式下被载入。
也可以通过传递--mode选项参数为命令行覆写默认的模式。例如,如果想要在构建命令中使用开发环境变量,只需要在package.json脚本中加入:

"dev-build": "vue-cli-service build --mode development",
变量

只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。你可以在应用的代码中这样访问它们:

console.log(process.env.VUE_APP_SECRET)

在构建过程中,process.env.VUE_APP_SECRET 将会被相应的值所取代。在VUE_APP_SECRET=secret的情况下,它会被替换为 "secret"。
除VUE_APP_*变量之外,在应用代码中始终可用的还有两个特殊的变量:
NODE_ENV - 会是 "development"、"production" 或 "test" 中的一个。具体的值取决于应用运行的模式。
BASE_URL - 会和 vue.config.js 中的 publicPath 选项相符,即你的应用会部署到的基础路径。
注:所有解析出来的环境变量都可以在 public/index.html 中以HTML插值的方式(<%=...%>)使用

原文地址:https://www.cnblogs.com/kanaliya/p/12302921.html

时间: 2024-08-02 07:02:34

vue cli中环境变量和模式的相关文章

vue-cli3.0 环境变量与模式

vue-cli3.0移除了配置文件目录: config和build文件夹.可以说是非常的精简了,那移除了配置文件目录后如何自定义配置环境变量和模式呢? 为什么需要配置环境变量和模式呢? 所有方法肯定是来源于现实的需求.在一个产品的前端开发过程中,一般来说会经历本地开发.测试脚本.开发自测.测试环境.预上线环境,然后才能正式的发布.对应每一个环境可能都会有所差异,比如说服务器地址.接口地址.websorket地址-- 等等.在各个环境切换的时候,就需要不同的配置参数,所以就可以用环境变量和模式,来

Linux中环境变量文件及配置

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Linux中环境变量文件

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Linux中环境变量文件及配置(转载)

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Linux中环境变量文件及配置(转)

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

JavaSE中环境变量的配置

在说Java中环境变量配置之前,还是先说说JDK和JRE吧. JRE(Java Runtime Environment),即Java的运行环境.主要包括JVM(Java Virtual Machine,Java虚拟机)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可. JDK(Java Development Kit),即Java开发工具包.JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包含了JRE.安装了JDK之后就不用

shell中环境变量

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量. 所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 系统级: /etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户.该文件一般是调用/etc/bash.bashrc文件. /etc/bash.bashrc:系统级的bashrc

Laravel5中环境变量的载入

Laravel5中环境变量的载入 Bootstrap 在Kernel中可以发现第一个启动项就是关于ENV的 protected $bootstrappers = [ 'Illuminate\Foundation\Bootstrap\DetectEnvironment', 'Illuminate\Foundation\Bootstrap\LoadConfiguration', 'Illuminate\Foundation\Bootstrap\ConfigureLogging', 'Illumina

php中环境变量

$_ENV $_ENV是一个包含服务器端环境变量的数组.它是PHP中一个超级全局变量,我们可以在PHP 程序的任何地方直接访问它.   $_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接输出它.   当你想看看一个变量中究竟有什么东西在里面时,我所知道的方式有三种:   1.var_dump($_ENV);   2.print_r($_ENV);   3.foreach($_ENV as $key=>$val){echo $key.'--------'.$val.'