"env": {
"UNI_PLATFORM": "h5",
"NODE_ENV": "test"
},
- 发布:2022-03-10 10:20
- 更新:2023-09-24 00:11
- 阅读:1887
产品分类: uniapp/H5
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.2.9
浏览器平台: Chrome
浏览器版本: 99.0.4844.51
项目创建方式: HBuilderX
操作步骤:
预期结果:
在 vue.config.js中能获取到自定义环境变量,或者能修改NODE_ENV
在 vue.config.js中能获取到自定义环境变量,或者能修改NODE_ENV
实际结果:
没有获取到自定义的,也没有修改NODE_ENV
没有获取到自定义的,也没有修改NODE_ENV
bug描述:
需要在发行时发到测试和生产,但是process.env.NODE_ENV又只有production和development两个值,而发行时又只有production无法区分测试生产,于是自定义了发行方式,并在环境变量中修改了NODE_ENV,新加了环境变量,然而在 vue.config.js中却获取不到新变量,NODE_ENV也没有修改
hbuilderx创建项目的用户可以这样解决这个问题。
- 按照文档,自定义发行需这样修改package.json
{ "uni-app": { "scripts": { "h5-prod": { "title": "h5:prod", "browser": "", "env": { "UNI_PLATFORM": "h5", "NODE_ENV": "production", "DEPLOY_ENV": "prod" }, "define": { "CUSTOM-CONST": true } }, "h5-dev": { "title": "h5:dev", "browser": "", "env": { "UNI_PLATFORM": "h5", "NODE_ENV": "development", "DEPLOY_ENV": "dev" }, "define": { "CUSTOM-CONST": false } } } }` }
- 安装
dotenv
npm install dotenv --save
- 在
vue.config.js
中这样使用
require('dotenv').config();
console.log(process.env);
// process.env中有UNI_SCRIPT这个变量,可以判断,执行的是哪个自定义命令
if(process.env.UNI_SCRIPT === "h5-prod") {
console.log("执行的是build")
} else {
console.log("执行的是dev")
}
1***@qq.com (作者)
我已经用HBuilderX创建好了的,并且开发迭代了多次了,怕出问题
2022-03-14 17:07