雨夜敬清秋
雨夜敬清秋
  • 发布:2025-08-01 17:57
  • 更新:2025-08-04 14:13
  • 阅读:93

【报Bug】mac arm 4.75 自定义发行有bug

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 15.5

HBuilderX类型: 正式

HBuilderX版本号: 4.75

浏览器平台: Chrome

浏览器版本: all

项目创建方式: HBuilderX

示例代码:

请查看附件中的代码直接进行发行打包

操作步骤:

请查看附件中的代码直接进行发行打包

预期结果:

使用自定义模式发行时,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] 17:34:04.350
尝试通过 ifdef WEB-TEST 修改 process.env.NODE_ENV 为 development,这里应该不生效,因为 WEB-TEST 是自定义发行模式下的条件变量
[HBuilder] 17:34:04.350 process.env.NODE_ENV 修改值,预期为 production,实际为: development
[HBuilder] 17:34:05.564 项目 package-custom-define-bug 编译成功。

2025-08-01 17:57 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

我测试了一下,自定义发行,在vue文件中可以正常使用define中声明的编译条件;非自定义发行,自定义的编译条件不生效,符合预期。

另外 vue.config.js 文件应该是不支持条件编译的,你写的条件编译其实是注释,条件编译包裹的内容一直在执行。

DCloud_UNI_JBB

DCloud_UNI_JBB

通过 process.UNI_SCRIPT_ENV 获取

要回复问题请先登录注册