第一步,在与package.json同级的目录创建配置文件:
.env.development 是开发环境下的配置文件
.env.production 是生产环境下的配置文件

如果这两个文件是空的,那么运行 npm run dev 时,process.env.NODE_ENV 的值默认就是 development;运行 npm run build 时,process.env.NODE_ENV 的值默认就是 production;
//package.json 文件
"scripts": {
"dev": "vue-cli-service serve", // 默认是 development 开发环境
"build": "vue-cli-service build", // 默认是 production 生产环境
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
第二步,在vue.config.js文件中打印输入 process.env.NODE_ENV :
// vue.config.js文件
console.log(process.env.NODE_ENV,'======NODE_ENV ')
1、.env.development 和 .env.production文件为空,执行npm run dev,结果如图:

2、.env.development 和 .env.production文件为空,执行 npm run build ,结果如图:

第三步,在.env.development 和 .env.production 配置文件中配置接口请求地址,通过给 VUE_APP_API 赋值:
//.env.development文件
VUE_APP_API = 'http://xxx.xxx.xx.xx/api_dev'
//.env.production文件
VUE_APP_API = 'http://xxx.xxx.xx.xx/api_pro'
// request.js文件
import axios from 'axios'
// 创建axios实例
const service = axios.create({
// 执行npm run dev,process.env.VUE_APP_API='http://xxx.xxx.xx.xx/api_dev'
// 执行npm run build,process.env.VUE_APP_API='http://xxx.xxx.xx.xx/api_pro'
baseURL: process.env.VUE_APP_API,
// 超时时间
timeout: 60000
})
以上配置已经完毕。
除了默认配置文件,我们也可以自定义配置文件。
第一步,创建一个 .env.staging 文件:

第二步,在package.json 文件中配置如下:
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"build:staging": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
当.env.staging 文件为空时,在 vue.config.js 中 console.log(process.env.NODE_ENV ,'======NODE_ENV '),结果如图:


当在 .env.staging 文件中重新定义NODE_ENV 时,在 vue.config.js 中 console.log(process.env.NODE_ENV ,'======NODE_ENV '),结果如图:
//.env.staging文件
NODE_ENV = myTest


综上,打包的时候,可以自定义环境变量。
文章介绍了如何在VueCLI项目中使用`.env`文件进行开发和生产环境的配置,以及如何通过`.env.staging`实现定制化的环境变量设置。重点讲解了如何通过`process.env.NODE_ENV`获取当前环境并配置API地址。
2110

被折叠的 条评论
为什么被折叠?



