uni-app page.json 文件里同时对微信和支付宝写条件编译报错:Duplicate key 'navigationStyle'

发布于 1周前 作者 vueper 来自 Uni-App

uni-app page.json 文件里同时对微信和支付宝写条件编译报错:Duplicate key ‘navigationStyle’

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

示例代码:

{  
    "path": "pages/home/index",  
    "style": {  
        // #ifdef MP-WEIXIN  
        "navigationStyle": "custom",  
        "backgroundColor": "#F44850",  
        // #endif  
        // #ifdef MP-ALIPAY  
        "navigationStyle": "default",  
        "navigationBarBackgroundColor": "#000",  
        "backgroundColorBottom": "#F44850",  
        // #endif  
        "mp-alipay": {  
            "transparentTitle": "always",  
            "titlePenetrate": "YES"  
        }  
    }  
}

3 回复

看的眼花了,在 pages.json 里不实用条件编译,使用平台进行覆盖。举例 {
“pages”: [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
“path”: “pages/index/index”,
“style”: {
“navigationBarTitleText”: “默认标题”,
“mp-weixin”: {
“navigationBarTitleText”: “微信小程序 title”
},

            "h5": {  
                "titleNView": {  
                    "titleText": "h5 title"  
                }  

            }  

        }  
    }  
],  
"globalStyle": {  
    "navigationBarTextStyle": "black",  
    "navigationBarTitleText": "uni-app",  
    "navigationBarBackgroundColor": "#F8F8F8",  
    "backgroundColor": "#F8F8F8"  
},  
"uniIdRouter": {}  

} 观察 style 里的 mp-weixin 和 h5 的属性,根据平台进行覆盖。使用条件编译不是正确的写法,忽略注释就是重复的 key


可以参考 https://ask.dcloud.net.cn/question/65242 配置 mp-alipay 和 mp-weixin 在里面设置

uni-apppages.json 文件中,如果你同时为微信小程序和支付宝小程序使用条件编译,并且都定义了相同的键(如 navigationStyle),可能会导致 Duplicate key 'navigationStyle' 的错误。这是因为 JSON 文件不允许有重复的键。

为了避免这个问题,你可以使用条件编译来区分不同的平台,确保每个平台下的配置是独立的。以下是一个示例:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        // 通用配置
        "navigationBarTitleText": "首页",
        // 微信小程序特定配置
        "#ifdef MP-WEIXIN": {
          "navigationStyle": "custom"
        },
        // 支付宝小程序特定配置
        "#ifdef MP-ALIPAY": {
          "navigationStyle": "default"
        }
      }
    }
  ]
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!