小程序对包大小做了限制,但又对一些功能没有做到完善兼容,这就导致要实现某些功能时,需要加载很大的文件,这就相互产生了矛盾~!我在写项目的过程中遇到两个如此场景:
- 我更习惯于使用echart去做图表,如果不做定制化,该文件会很大,但即使做定制化,项目如果需要用到很多类型图表,该文件依然会很大,如果做分包,分包之间又不能相互引用,该文件又不能放主包内,但如果主包内的页面本身也用了该功能,那就无解了
- 再一个就是字体的问题,微信小程序好像处理不了ttf,woff等字体文件,项目要用到字体图标是很常见,也很频繁的事情,不能处理字体文件,就必须转base64,转了base64文件就超大,这种整个项目都会用到的东西好像也只能放主包,主包又只有2M
所以,真的有必要对包大小做限制吗?或者包大小就真的只能2M?

有时候不是小程序主包,分包写太多导致的小程序过大超限,也有可能是第三方资源,例如 protobuf 编译的接口文件,默认就在主包,也不能往子包移,这种情况,当 protobuf 大于 2M了,小程序主包完全没有内容可以写了
主包和分包都不能大于2M
分包之间可以相互引用
开发的是小程序,不是大程序,没必要很大
分包异步化+占位组件 就可以完美解决你这个问题
https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/async.html
主包和分包分别不能大于2M,目前其他解决方案。