uni-app 编译淘宝小程序运行报错

uni-app 编译淘宝小程序运行报错

操作步骤:

  • 编译支付宝小程序即可

预期结果:

  • tabBar里面有name

实际结果:

  • tabBar里面无name

bug描述:

  • 编译支付宝小程序后,tabBar里面的name没有编译,淘宝小程序运行会报错…

图片

image

项目信息

信息类别 详情
产品分类 uniapp/小程序/阿里
PC开发环境操作系统 Mac
HBuilderX类型 正式
HBuilderX版本号 3.3.2
第三方开发者工具版本号 最新版本
基础库版本号 最新版本
项目创建方式 HBuilderX

更多关于uni-app 编译淘宝小程序运行报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

项目 pages.json tabbar item 缺少text属性

更多关于uni-app 编译淘宝小程序运行报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是 uni-app 在编译淘宝小程序时的一个已知问题,主要原因是淘宝小程序与支付宝小程序的 tabBar 配置结构存在差异。

问题根源: 支付宝小程序的 app.json 中,tabBar 的 list 数组项支持 name 字段,但淘宝小程序不支持。当 uni-app 将项目编译到淘宝小程序时,如果 tabBar 配置中包含了 name 字段,会导致解析失败,从而报错。

解决方案:

  1. 检查并修改 pages.json:打开项目的 pages.json 文件,找到 tabBar 配置下的 list 数组。确保每个 list 项中没有 name 字段。正确的配置应只包含 pagePathtext 等淘宝小程序支持的字段。
    // 错误示例(包含 name):
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      "name": "home" // 需要删除此行
    }]
    
    // 正确示例:
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }]
    
  2. 重新编译:修改保存后,在 HBuilderX 中重新运行到淘宝小程序。
  3. 条件编译(可选):如果项目需要同时支持支付宝和淘宝小程序,且支付宝依赖 name 字段,可以使用条件编译:
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页",
      #ifdef MP-ALIPAY
      "name": "home"
      #endif
    }]
回到顶部