技术:uniapp、vue3 背景:项目引入了聊天相关的第三方npm包[zim](开发者中心 - 即构科技)压缩代码后仍有1m左右的大小,但是需要作为重要功能放在tabber页的“我的”内,如下图:
这种情况肯定不能把这个包放在主包内,主包最多只有2m
uniapp第三方包打包规则是:
- js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)
但是不同于uni_modules包,node_modules的分包操作不适用,即使只在分包内引入,也会被打包到主包
如果有遇到跟我一样的场景,比如什么echarts之类的大型第三方包,可以尝试以下我的解决办法:
1、使用vite插件使npm包不会打包到主包:ext.dcloud.net.cn/plugin?id=1…
2、将tab页需要使用这个包的页面,做成单独的分包页面,但是需要使用自定义tab栏的方式
我这里操作后:
缺点:自定义tab不如原生好使