起源
在小程序(uniapp + vue3)地址识别的时候用到了这个插件,然后我就查资料引用了这个插件,就写了个静态,然后发体验版的时候vendor.js直接给我干到了2点多M,就很离谱,然后没想到是这个插件的问题(特别奇怪,他就是不报这个插件的问题,然后把分包里面的东西都打包到主包里面去了,有时候他不光还报错,直接把微信开发者工具干崩了,说代码里面存在死循环的问题),就各种查资料,我甚至还怀疑了yarn和npm的问题,各种试,折腾了一两天,终于算是找到问题了。
记录
使用了这个插件:
删掉之后:
调试
为了这个问题我还用脚手架创建了一遍这个项目,试了webpack将vendor.js进行代码分割,还把写的公共组件都去掉了(因为他一直报那个组件包太大了,代码分析面板里面只能看到components里面的js太大了,解决一个然后又有新的),麻了
心得
在写小程序的时候,一些防止主包太大的记录:
- 分包
- 开启代码压缩
- 使用CDN,将静态资源放在CDN上
- 引入没使用过的插件的时候记得发个体验版看看(太TMD坑了)
- 使用hbuilderx创建的项目不要随便删掉
uni_modules
里面的内容,我瘦身vendor.js的时候,删掉了uni_modules没用到的组件,结果我的uni-popup样式没了,坑~