taro 分包依赖文件过多,造成分包体积增大

kh212irz  于 4个月前  发布在  其他
关注(0)|答案(6)|浏览(98)

这个特性解决了什么问题?

1.配置智能分包
config = {
// ...
mini: {
// ...
optimizeMainPackage: {
enable: true,
},
},
}
2.有2个分包的页面同时引入同一个组件库,按照目前的分包机制:
"如果该 module 被多个分包内的 page 引用,正常情况下会被提取到主包的公共模块中,这里为了保证主包的体积最优,则会先提取成一个公共模块,然后分别复制到对应分包的 sub-common 文件夹下"
3.最终一个组件库被打成了非常多的小文件,造成每个页面需要引入这么多的文件,增加了每个页面的大小.

这个 API 长什么样?

期望可以通过配置,无论是几个分包引用
都提取到该分包根目录的 sub-vendors 文件中,而不是打包成很多小模块

k3bvogb1

k3bvogb11#

那不是会有很多重复的代码吗?

7gs2gvoe

7gs2gvoe2#

现在这些小模块就是重复的代码
本来是要放到分包的common,js里面的,但是主包现在放不下了
所以才开启分包优化的,但是分包优化有两种策略,
一种是单个分包依赖的会打包到sub-vendors.js中
另一种是多个分包依赖同一模块则会打包到个各自的sub-vendors中且会被分割成很多小模块
我只是不希望被分割成很多小模块,因为小模块需要在每个页面去引入,单个页面引入这些小模块的代码就有好几K了
我理解多个模块被分割成多个小模块是为了更灵活的拆分,但是我现在的目的就是把公共库打包到每个分包中.

eqfvzcg8

eqfvzcg83#

面同时引入同一个组件库,按照目前的分包机制:
"如果该 module 被多个分包内的 page 引用,正常情况下会被提取到主包的公共模块中,这里为了保证主包的体积最优,则会先提取成一个公共模块,然后分别复制到对应分包的 sub

我也用了这个optimizeMainPackage没遇到过重复代码的问题

oxf4rvwz

oxf4rvwz4#

面同时引入同一个组件库,按照目前的分包机制:
"如果该 module 被多个分包内的 page 引用,正常情况下会被提取到主包的公共模块中,这里为了保证主包的体积最优,则会先提取成一个公共模块,然后分别复制到对应分包的 sub

我也用了这个optimizeMainPackage没遇到过重复代码的问题

我的问题并不是重复代码,是不希望被打包成小模块

vjrehmav

vjrehmav5#

希望这些打包成一个文件,而不是这么多小文件

5ktev3wc

5ktev3wc6#

哦 这个提议不错

相关问题