缩短打包时间
优化loader搜索范围
-
noParse
去除无依赖文件(
lodash
…) -
IgnorePlugin
忽略特定模块
多线程
node是单线程的
-
HappyPack
将打包任务分发给子线程执行,执行结束后将结果返回给主线程
-
thread-loader
开启缓存
-
cache-loader
缓存loader的处理结果,在开销大的loader上使用
热更新
提前打包
-
DllPlugin
将特定的类库提前打包,动态引入
模块中使用该库时,从动态库中获取,减少打包次数
-
DllReferencePlugin
减小打包体积
压缩图片
-
image-webpack-loader
降低图片分辨率、压缩图片体积
删除无用css
-
purgecss-webpack-plugin
要单独提取css到独立的文件中,
mini-css-extract-plugin
可以实现
CDN加载类库资源
add-asset-html-cdn-webpack-plugin
按需加载/动态加载
-
plugin-syntax-dynamic-import
每个页面文件单独打包,使用时再下载对应的文件
删除无关代码
TreeShaking
代码压缩
-
gzip
删除
console.log
等无效代码