问题描述
使用微信开发者工具进行npm构建后,miniprogram_npm目录下安装了一大堆npm包,这时,本地编译运行没有问题,但是要进行手机预览的话,点了预览按钮就报错,大概意思是代码包4000kb,超过2048kb,无法上传。
不好使的办法
在微信公众平台搜了好多答案。
- 分包加载
有的说要分包加载,但是我写的只是一个demo小程序,只有一个页面,代码很少,分包也只有一个包。
- gulp压缩
由于调试控制台有警告说webpack 和lodash模块超过500kb,未进行ES6转ES5以及代码压缩,所以有的回答说使用gulp进行代码压缩和ES6转ES5,我用了之后确实能把这两个包压缩,减少了几百kb,但是最终仍然报代码包超过大小,因为其他模块加起来还是有3800kb。
最终解决办法
- 删除多余的npm包
在绝望之际,看到有个回答说,把自己引入的包以外的其他包从miniprogram_npm目录手动删除。试过之后,果然有效。
其实记得之前版本里,npm构建之后,miniprogram_npm目录本来就只会有引入的依赖包,最近更新了之后,莫名其妙地出了这个问题。