mac arm 4.75 uni-app自定义发行有bug
mac arm 4.75 uni-app自定义发行有bug
示例代码:
请查看附件中的代码直接进行发行打包
操作步骤:
请查看附件中的代码直接进行发行打包
预期结果:
- 使用自定义模式发行时,
package.json中定义的条件变量和环境变量应该生效 - 使用非自定义模式发行时,
package.json中定义的条件变量和环境变量应该不生效
实际结果:
- 使用自定义模式发行时,
package.json中定义的条件变量生效了,但环境变量没生效 - 使用非自定义模式发行时,
package.json中定义的环境变量没生效,但条件变量生效了
bug描述:
[HBuilder] 17:30:43.033 项目 package-custom-define-bug [UNI6C4FA86] 开始发布到Web...
[HBuilder] 17:30:43.336 正在编译中...
[HBuilder] 17:30:43.360 ======== 使用自定义发行 - WEB测试环境 ========
[HBuilder] 17:30:43.360 `process.env.NODE_ENV` 原始值,预期为 development,实际为: production
[HBuilder] 17:30:43.360 尝试通过 `ifdef WEB-TEST` 修改 `process.env.NODE_ENV` 为 development
[HBuilder] 17:30:43.360 `process.env.NODE_ENV` 修改值,预期为 development,实际为: development
[HBuilder] 17:30:44.520 项目 package-custom-define-bug 编译成功。
[HBuilder] 17:34:03.917 项目 package-custom-define-bug [UNI6C4FA86] 开始发布到Web...
[HBuilder] 17:34:04.316 正在编译中...
[HBuilder] 17:34:04.349 ======== 使用 HBuilderX Web 发行 ========
[HBuilder] 17:34:04.350 `process.env.NODE_ENV` 原始值,预期为 production,实际为: production
[HBuilder] 尝试通过 `ifdef WEB-TEST` 修改 `process.env.NODE_ENV` 为 development,这里应该不生效,因为 WEB-TEST 是自定义发行模式下的条件变量
[HBuilder] `process.env.NODE_ENV` 修改值,预期为 production,实际为: development
[HBuilder] 17:34:05.564 项目 package-custom-define-bug 编译成功。
| 项目属性 | 信息 |
|---|---|
| 产品分类 | uniapp/H5 |
| PC开发环境 | Mac |
| PC开发环境版本 | 15.5 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.75 |
| 浏览器平台 | Chrome |
| 浏览器版本 | all |
| 项目创建方式 | HBuilderX |

更多关于mac arm 4.75 uni-app自定义发行有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
8 回复
我测试了一下,自定义发行,在vue文件中可以正常使用define中声明的编译条件;非自定义发行,自定义的编译条件不生效,符合预期。
另外 vue.config.js 文件应该是不支持条件编译的,你写的条件编译其实是注释,条件编译包裹的内容一直在执行。
更多关于mac arm 4.75 uni-app自定义发行有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我想通过环境来处理是否移除console,非cli开发的方式该怎么做?
回复 雨夜敬清秋: 可以定义环境变量,根据环境变量判断
回复 DCloud_UNI_JBB: “env”: { “UNI_PLATFORM”: “h5”, “NODE_ENV”: “development” }, 定义了,NODE_ENV 也没生效
回复 雨夜敬清秋: 换个名字呢,别改node_env
回复 DCloud_UNI_JBB: 换个名字也不行的,vue.config.js 中也不支持吧
通过 process.UNI_SCRIPT_ENV 获取
感谢

