lucky_mi
lucky_mi
  • 发布:2024-03-21 10:44
  • 更新:2026-03-13 11:09
  • 阅读:5297

【报Bug】uniapp vue3.x 版本下,已经做了分包,打包小程序还是会发现分包的文件被打包进了主包的vendor.js

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.99

第三方开发者工具版本号: 1.06.2402030

基础库版本号: 3.3.5

项目创建方式: HBuilderX

操作步骤:

发行 - 选择发布到小程序

预期结果:

希望 分包出去的文件不要打包进主包

实际结果:

实际上打包进了主包导致文件过大

bug描述:

vue3.x 下 + vite 打包,把分包里面的js 也打进了vendor 里面,导致主包过大

2024-03-21 10:44 负责人:DCloud_UNI_JBB 分享
已邀请:

最佳回复

DCloud_UNI_JBB

DCloud_UNI_JBB

最新的 5.0 alpha 版本的 hx 已支持 分包的 node_modules 引用只打包到分包中,可升级到此版本。

如果发现还有主包node_modules和分包node_modules产物生成错误的问题,可以在 im 中私聊我。

_starlight4u_

_starlight4u_ - 道阻且长,行则将至。

确定有成功分包吗?看上面的截图好像你的分包在 /pages/xxx 目录;
根目录的这个 pages目录是主包放页面的地方,可能没有成功分包,检查一下分包情况吧

在小程序开发者工具右上角-详情-基本信息,看看分包列表,是否符合预期

  • lucky_mi (作者)

    你看下,我这块的截图,确实已经分出去了的

    2024-03-21 19:47

lucky_mi

lucky_mi (作者)

我看确实是在分包里面的

HRK_01

HRK_01

uniapp 在进行微信小程序打包时,会将分包页面引入的 js 打包到主包的 vendor.js 中。
如果担心主包文件过大,可以采用压缩和拆分,可以单独采用或者同时进行
详见:详情

  • julytian

    链接打不开

    2024-03-26 19:27

  • HRK_01

    回复 julytian: 已更新回复

    2024-03-27 01:10

  • 1***@qq.com

    加了这些配置,vue3+vite的uniapp-cli项目已经分包了,但是子包的js还是会打包到主包的vendor.js中,子包没有自己的vendor.js

    2024-04-01 11:56

  • 大魔王萝卜兔

    不行啊,还有没有其它方案

    2024-05-14 15:46

2***@qq.com

2***@qq.com

社区维护人员,赶紧如何解决这个问题,我是用vue3的ts写,也出现跟博主一样问题,分包了,打包小程序还是会发现分包的文件被打包进了主包的vendor.js。。。。博主解决了吗???

  • root_fan

    解决了?

    2024-12-13 17:20

  • g***@qq.com

    解决了吗?为什么,会将分包的文件打包到主包的vendor.js文件里面。而且还是新建的分包,没有任何代码。新建的分包路径也正常。mainifest.json该配置都配置了啊

    2024-12-30 16:48

布丁邱

布丁邱

我也遇到了这个问题,你们都解决了吗

  • 2***@qq.com

    解决条毛,都是删除一些文件,uni-app是不是要完蛋了,问题那么久不回复

    2024-06-05 16:04

大魔王萝卜兔

大魔王萝卜兔

我也遇到了这个问题,前辈们都解决了吗

lucky_mi

lucky_mi (作者)

我最后还是删文件,删没用的依赖,减少的

2***@qq.com

2***@qq.com

同问题,就没有解决办法吗

  • 1***@qq.com

    可以看看这几篇文章

    https://juejin.cn/post/7251833062618513466

    https://juejin.cn/post/7205092873326723109

    https://ask.dcloud.net.cn/article/41174

    https://ext.dcloud.net.cn/plugin?id=18199

    2024-08-27 10:50

BFC

BFC

目前node_modules的包默认回 打包到vender.js主包中, 如果需要将node_modules内的包也引入到分包中,则需要将node_modules里面的包 移动到项目目录中,然后再在分包中引用。

  • tx_1106

    具体怎么移动,

    2024-11-14 14:16

root_fan

root_fan

使用分包了,主包vendor还是大1.4M, vue3 vite方式,有没有解决办法?

2***@qq.com

2***@qq.com

这个问题竟然没一个社区的人回复,6

1***@qq.com

1***@qq.com

大概率是使用了插件,但是被打包进了主包中,把插件移动到子包中就好了
可以参考这个文章:https://blog.csdn.net/qq_35378569/article/details/144538125

1***@163.com

1***@163.com

有解决方法吗,如何在每个分包里有vendor啊

s***@kangbozhilian.com

s***@kangbozhilian.com

有解决办法了吗? 还差800多k

  • 1***@qq.com

    评论区的方法就可以的。如果你是因为图片之类的静态资源那就放到服务器上,如果是node_modules的话就把相关的lib复制到子包中,这样会打包到子包中。

    2025-09-25 16:00

  • s***@kangbozhilian.com

    回复 1***@qq.com: 静态资源除了tabbar图片全放服务器了, vendor还有1.2M加上unimodules里的还是爆炸

    2025-09-26 14:10

DCloud_UNI_JBB

DCloud_UNI_JBB

下个alpha会支持 分包的中node_modules 引用只打包到分包中,详见

5***@qq.com

5***@qq.com

请问解决了吗

  • DCloud_UNI_JBB

    暂时还没有发版,发版之后我会评论区回复

    2025-10-20 10:49

一根葱

一根葱

还是有这个问题

一个人的江湖

一个人的江湖

我解决了,使用分包异步化

moobbit

moobbit - 超级牛马

可以试试pnpm workspace,分包作为一个package,依赖只安装到这个分包下

iccream

iccream

最新5.02 alpha版本,主包和分包都引用的node_modules引用被打包进分包中,微信小程序分包还没加载,分包里的vendor.js也用不了啊。正常来说这种应该被打进主包中吧,

  • DCloud_UNI_JBB

    主包和分包都引用的依赖放在主包的node_modules中

    2026-03-11 10:51

  • 萌萌萌

    回复 DCloud_UNI_JBB: 更新了5.03版本后 运行小程序会有很多错误 分包进不去了 Error: module '分包名/common/vendor.js' is not defined, require args is '../分包名/common/vendor.js'

    2026-03-16 11:58

  • DCloud_UNI_JBB

    回复 萌萌萌: 发个可复现demo

    2026-03-16 12:01

  • DCloud_UNI_JBB

    回复 萌萌萌: im里面私聊

    2026-03-16 12:01

  • 萌萌萌

    回复 DCloud_UNI_JBB: 没找到哪个包的问题 关闭了分包优化就没有报错了

    2026-03-16 14:30

  • DCloud_UNI_JBB

    回复 萌萌萌: 估计是分包编译策略的问题,最好是能发给我一个可复现demo,排查下

    2026-03-16 14:39

  • 萌萌萌

    回复 DCloud_UNI_JBB: 尝试做了demo 没有发现问题,只看到分包里出现了common/vendor.js,

    2026-03-16 16:42

  • DCloud_UNI_JBB

    回复 萌萌萌: 分包下的文件有没有引用该分包根目录的node_modules下面的依赖

    2026-03-16 16:49

  • 萌萌萌

    回复 DCloud_UNI_JBB: 分包目录里没有node_modules,只引入过主目录的

    2026-03-16 17:03

  • DCloud_UNI_JBB

    回复 萌萌萌: 就是说你主包和分包都在用主包 node_modules 下的依赖?确定的话,可以按这个思路尝试复现一下

    2026-03-16 17:07

  • 萌萌萌

    回复 DCloud_UNI_JBB: demo已经发您了,你看下

    2026-03-17 10:23

  • DCloud_UNI_JBB

    hx 升级到 5.04 正式版看看还有没有问题

    2026-03-18 17:54

要回复问题请先登录注册