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

image

package-custom-define-bug.zip


更多关于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 获取

回到顶部