uni-app 自定义发行中的条件语句不生效

uni-app 自定义发行中的条件语句不生效

示例代码:

"uni-app": {
"scripts": {
"TESTH5": {
"title":"H5测试环境",
"BROWSER":"",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"TESTH5":true
}
},
}
}

操作步骤:

  • 发行中选择,自定义发行

预期结果:

  • 有条件编译

实际结果:

  • 没有编译条件编译的内容

bug描述:

  • 自定义发行中的条件语句不生效


| 信息类别       | 信息内容           |
|----------------|--------------------|
| 产品分类       | HbuilderX          |
| PC开发环境     | Windows            |
| 操作系统版本号 | win10 1903         |
| 版本号         | 3.2.9              |

更多关于uni-app 自定义发行中的条件语句不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

更新到HBuilderX 3.2.11 alpha 版本 查看相关问题帖子:https://ask.dcloud.net.cn/question/131791

更多关于uni-app 自定义发行中的条件语句不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


自定义发行中的条件编译不生效,通常是由于条件编译的写法或配置问题导致的。根据你提供的配置,问题可能出在以下方面:

  1. 条件编译语法错误:在代码中使用条件编译时,需要确保语法正确。例如,在 JavaScript/TypeScript 中应使用 // #ifdef TESTH5// #endif,在 Vue 模板中应使用 <!-- #ifdef TESTH5 --><!-- #endif -->。请检查代码中的条件编译注释是否正确。

  2. 配置未生效:自定义发行的配置需要确保在发行时被正确加载。可以尝试以下步骤:

    • 重新启动 HBuilderX。
    • 清除项目缓存(菜单栏:项目 -> 清除项目缓存)。
    • 重新选择自定义发行配置并发行。
  3. 作用域问题:条件编译仅在配置的 define 字段中定义的变量为 true 时生效。请确保代码中的条件编译标识符与配置中的 TESTH5 完全一致(包括大小写)。

  4. 平台限制:自定义发行配置中的 UNI_PLATFORM 需要与条件编译的平台标识符匹配。例如,如果代码中使用了 // #ifdef H5,但配置中定义的是 TESTH5,则不会生效。建议将配置中的 define 改为 "H5": true,或在代码中使用 // #ifdef TESTH5

建议修改配置如下,并检查代码中的条件编译语法:

"define": {
  "H5": true,
  "TESTH5": true
}
回到顶部