在vue项目中,env是全局配置文件,可以存储不同环境下的变量。
使用vue-cli搭建项目,默认会在根目录创建一个.env文件
如果需要更多类型的.env文件,需要自行创建
.env 后缀的文件是全局默认配置文件,不论什么环境都会加载并合并
.env.development 是开发环境下的配置文件,仅在开发环境加载。
.env.production 是生产环境下的配置文件(也就是正式环境),仅在生产环境加载
以上三个文件命名不能变
我们如果想自定义可以创建其他命名的文件 比如.env.test
文件中的变量命名必须以VUE_APP_开头
比如VUE_APP_URL,VUE_APP_API
配置启动命令
在vue项目根目录下,找到package.json文件,其中scripts对象是配置的vue启动命令
比如npm run dev,配置如下:
{
"name": "hxqgov",
"version": "0.1.0", // 版本号
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"lint": "vue-cli-service lint",
"build:test": "vue-cli-service build --mode test",
"build:prod": "vue-cli-service build",
"build:fengtai": "vue-cli-service build --mode fengtai",
"build:sit": "vue-cli-service build --mode staging",
"build:gs": "vue-cli-service build --mode ganshu",
"build:nation": "vue-cli-service build --mode nation",
"build:govnation": "vue-cli-service build --mode nationprod",
"build:xjsit": "vue-cli-service build --mode xjsit",
"build:xjprod": "vue-cli-service build --mode xjprod",
"build:bjdc": "vue-cli-service build --mode bjdc",
"build:bjdcprod": "vue-cli-service build --mode bjdcprod",
"build:bjcy": "vue-cli-service build --mode bjcy",
"build:bjcyprod": "vue-cli-service build --mode bjcyprod",
"build:tzdc": "vue-cli-service build --mode tzdc",
"build:zhejiang": "vue-cli-service build --mode zhejiang"
},
"dependencies": {
"@easydarwin/easyplayer": "^5.0.3"
}
}
1.npm run serve,启动项目,并且加载.env和.env.development文件
2.npm run build:test,测试环境打包,其中.env和.env.test文件会加载
3.npm run build:prod,生产环境打包,其中.env和.env.production文件会加载
获取.env中的全局变量
比如,我在.env文件中设置了变量VUE_APP_BASE_URL = 'https://www.jianshu.com',在项目中我想获取,只需要使用process.env.VUE_APP_BASE_URL,就可以取到。
实际用处
个人觉得最大的用处就是不同环境加载不同的变量,比如开发环境和测试、正式环境的请求域名不同,直接在.env文件中定义一个全局的URL,在请求封装中使用,很方便。