文章目录
  1. 1. 压缩插件
  2. 2. 开启调试环境压缩
  3. 3. 写在最后

今天review新同事代码,发现一点问题,跑uniapp调试,结果因为小程序主包太大,没有办法真机扫码,于是开始寻觅办法。

首先看生成的微信小程序里,最大的部分是vender.js,1.8Mb。如果这个能缩小一些,那就有希望。

压缩插件

先从npm插件入手,看看哪些是还可以压缩。自己找了一圈,发现只有 moment 插件有机会优化,比如去掉中文以外的所有语言文档。

vender.js中增加

1
2
3
4
5
6
plugins: [  
new webpack.ContextReplacementPlugin(
/moment[\\\/]locale$/,
/^\.\/(zh-cn)$/
)
]

然而发现效果微乎其微,就减少了200k左右。

开启调试环境压缩

在网上查了一下资料,发现即便配置了开启运行时压缩,其实也只是生产环境下有用,开发环境下是不会进行压缩的。

要全部都压缩,需要在vender.js增加这段代码

1
2
3
optimization: {
minimize: true
}

这样打包以后,发现vender.js只有600多k了,而且其他文件也都跟生产环境一样,全部压缩了。

写在最后

可能有朋友或者以后的自己会纳闷,那为什么还需要一段代码单独来开关这个功能?因为如果始终开启,在微信小程序工具里,调试窗口里也就一堆看不懂的压缩消息了。

♦ 本文固定连接:http://gsgundam.com/2020-12-17-weixin-mini-program-vender.js-too-large/

♦ 转载请注明:GSGundam 2020年12月17日发布于 GSGUNDAM砍柴工