uni-app 两个以上的自定义条件编译无效

uni-app 两个以上的自定义条件编译无效

3 回复

// #ifdef H5||APP
uni.showToast({
title: ‘通过’,
icon: “success”
})
// #endif 可以呀,你那边是什么平台

更多关于uni-app 两个以上的自定义条件编译无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


只有自定义的条件编译才会出问题 而且是2个以上的自定义条件编译,如下 // #ifdef H5-CUSTOM1||H5-CUSTOM2 uni.showToast({ title: ‘通过’, icon: “success” }) // #endif 请参考【BUG描述】 标准的平台代码,或只有一个自定义的平台代码都可以正常工作,或者虽有两个自定义的,但目标代码在||的前面,也都正常 我在本地改了编译代码就可以了 希望能在下一个版本中修复

uni-app 的自定义条件编译支持多个条件,但需要符合以下规范:

  1. 配置格式:自定义平台需在 manifest.jsonpackage.jsonuni 字段中声明为数组,例如:

    "uni": {
      "customPlatforms": ["custom1", "custom2"]
    }
    

    错误写法如 "customPlatforms": ["custom1,custom2"] 会导致第二个条件不被识别。

  2. 条件编译语法:多条件时需用 ||(或)或 &&(与)连接,且每个条件前必须加 #ifndef#ifdef,例如:

    // #ifdef CUSTOM1 || CUSTOM2
    console.log('同时匹配 custom1 或 custom2')
    // #endif
    

    注意:#ifdef#endif 必须成对出现,且不能嵌套。

  3. 编译环境:运行或打包时需通过 --custom-platform 参数指定目标平台,例如:

    uni-app build --platform custom1
回到顶部