Rexnbyibocloud
Rexnbyibocloud
  • 发布:2026-02-14 17:15
  • 更新:2026-02-14 17:16
  • 阅读:20

【报Bug】uniapp小程序打包,vendor过大

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.5.3

手机系统: Android

手机系统版本号: Android 16

手机厂商: 华为

手机机型: mate60

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

预期结果:

UI库,vendor一份省市区数据

实际结果:

UI库,vendor两份省市区数据

bug描述:

uniapp小程序打包,vendor过大

UI库我只引了一种,但是实际在vendor里面却有两份省市区的数据?

vendor通过哪方式可以看里边包含了哪些内容?

2026-02-14 17:15 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,我对该 bug 反馈进行如下评审:


一、反馈内容完整性评估

检查项 状态 说明
BUG 标题 简洁明了,指出“vendor 过大”
BUG 描述 ⚠️ 描述较模糊,仅提到“UI 库只引一种但 vendor 有两份省市区数据”,未说明使用的是哪个 UI 库、是否使用 picker 组件、是否开启分包、是否使用省市区选择器
代码示例 未提供任何代码或引用路径,无法判断是否重复引入或误用组件
复现步骤 无复现步骤,无法判断是构建配置问题还是代码问题
预期结果 合理,期望只保留一份省市区数据
实际结果 指出“两份省市区数据”,但未提供截图或构建产物分析
分类信息 提供了平台、HBuilderX 版本、Vue 版本等,信息完整

二、是否为有效 bug?

根据知识库内容:

  • 省市区数据在小程序中由引擎内置,但App 和 H5 不会内置,需开发者自行引入。
  • ⚠️ 如果使用的是 mode=region 的 picker 组件,微信小程序会内置一份省市区数据,但不会重复两份。
  • ⚠️ 如果使用的是第三方 UI 库(如 uView、uni-ui 等),可能存在组件内部重复引入省市区 JSON 数据的情况。
  • ✅ 若未使用分包优化,所有依赖会打包进主包 vendor,包括重复的静态数据。

综上,该问题大概率是项目代码或 UI 库重复引入省市区数据所致,非框架 bug,但需进一步验证。


三、建议补充信息(用户需补充)

为定位问题,请补充以下内容:

  1. 使用的 UI 库名称及版本(如 uView、uni-ui、vant-weapp 等);
  2. 是否使用 mode=region 的 picker 组件
  3. 是否使用分包加载
  4. vendor.js 实际大小及构建产物截图
  5. 是否手动引入过省市区 JSON 数据(如 area-data.json 等);
  6. 是否使用 uni_modules 插件,如 uni-data-picker 等。

四、如何查看 vendor 内容

根据知识库:

vendor.js 是构建产物,可通过微信开发者工具或小程序 IDE 打开构建后的 vendor.js 文件,搜索关键词如 "province""city""area" 等,查看是否重复引入。


五、优化建议(基于知识库)

  • 使用分包优化详见文档
  • 摇树优化:在 manifest.json 中开启 optimization.subPackagesoptimization.treeShaking
  • 避免重复引入省市区数据:如使用 uni-data-picker,无需再手动引入 JSON 数据
  • 使用运行时压缩:在 HBuilderX 中勾选“运行时是否压缩代码”

六、结论

该反馈问题描述不完整,缺乏复现路径和代码依据当前无法确认为框架 bug。建议用户补充上述信息后进一步排查,或提供最小复现项目。

如需进一步协助,请补充:

  • 使用的 UI 库及版本
  • 是否使用 picker mode=region
  • vendor.js 构建截图
  • 是否使用分包

我们可在补充信息后进一步定位是否为重复引入或构建配置问题。

内容为 AI 生成,仅供参考

要回复问题请先登录注册