1.在项目根目录中创建.env 或者 .env.xxx 的文件来指定环境变量

.env                # 在所有的环境中被载入
.env.local # 在所有的环境中被载入,但会被 git 忽略
.env.[mode] # 只在指定的模式中被载入
.env.[mode].local # 只在指定的模式中被载入,但会被 git 忽略
.env.dev # 指定开发模式dev
.env.prod # 指定生产模式prod
.env.test # 指定测试模式test

注:以.local结束的文件会被忽略,是因为忽略文件.gitignore文件设置了

.env.local
.env.*.local

2.环境文件的优先级

为一个特定模式准备的环境文件 (例如 .env.production) 将会比一般的环境文件 (例如 .env) 拥有更高的优先级。

不会被 .env 文件覆写。

3.一个环境文件只包含环境变量的“键=值”对

例如:.env.test文件的配置可如下

# 环境
NODE_ENV = 'test'
# 接口地址
VUE_APP_BASE_API = '/api'
# 打包文件名
VUE_APP_DIR_NAME = 'test'

4.模式

(1)模式与环境变量是和关系?

  模式!= 环境变量

  一个模式可以包含多个环境变量

(2)模式如何添加呢?

  .env 文件增加后缀来设置某个模式

如.env.test文件的后缀名是test,即为test模式 。  test模式下含有NODE_ENV ,VUE_APP_BASE_API ,VUE_APP_DIR_NAME 这3个环境变量,如有需要,可自行添加其他环境变量

5.使用

(1)构建命令中使用开发环境变量

  通过传递 --mode 选项参数为命令行覆写默认的模式。

 "scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build --mode build",
"dev": "vue-cli-service serve --mode dev",
"test": "vue-cli-service build --mode test"
},

注:--mode 后面跟的名字一定要跟 .env.xxx 的名字对应起来才能实现不同的命令用不同的配置文件

(2)客户端代码中使用

const instance = axios.create();

// instance.defaults.baseURL = baseurl;
instance.defaults.baseURL = process.env.VUE_APP_BASE_API;
instance.defaults.timeout = 2000;
//设置打包后的目录名
outputDir:process.env.VUE_APP_DIR_NAME,


最新文章

  1. 4.6 .net core依赖注入的封装
  2. java使用tomcat7的maven插件发布到服务器
  3. [Unity] Shader - CG语言 流程控制语句
  4. map vs hash_map
  5. backbone--部分总结
  6. Android安全问题 静音拍照与被拍
  7. 转:使用Android API最佳实践
  8. Linux创建修改删除用户和组
  9. chrome(转)
  10. C# 调用cmd.exe的方法
  11. Windbg程序调试系列4-Live Debugging
  12. UE4源码笔记
  13. Spring源码的编译、下载和阅读
  14. ZH奶酪:JavaScript中的JSON.stringify() and JSON.parse()
  15. Java 类型, Hibernate 映射类型及 SQL 类型之间的相应关系
  16. MySQL多表关联查询与存储过程
  17. 常用工具&网址
  18. [leetcode]273. Integer to English Words 整数转英文单词
  19. ExpressRoute 常见问题
  20. jmeter-对响应数据进行unicode转码

热门文章

  1. python 之匿名函数(lambda)
  2. 【Vue】启动vue项目报错: errno: -4058, code: ‘ENOENT‘, syscall: ‘spawn cmd‘
  3. C++进阶(位图+布隆过滤器的概念和实现+海量数据处理)
  4. [python] 基于paramiko库操作远程服务器
  5. [机器学习] sklearn支持向量机
  6. emqtt-bench
  7. [Leetcode]环形链表 II
  8. Zotero自定义引文样式
  9. 为什么游戏公司应该选择 Cloud Spanner 来支持他们的游戏?
  10. 【随笔记】全志平台 gpio-leds 驱动应用