常用的plugin
2021-11-01 本文已影响0人
sweetBoy_9126
imagemin-webpack-plugin
用处:用来压缩你所有的图片资源
原理:
首先监听一个emit事件,在emit事件里对所有的compilation.assets进行检测,如果发现是图片就优化,优化后就把这个图片替换成原来的图片
clean-webpack-plugin
用处:用来清除build目录
原理:监听emit事件触发一个handleInitial方法,拿到你的compilation里的stats,然后调用removeFiles移除你的dist文件目录,移除完成后删除assets之外的文件
ProvidePlugin
用处:不需要单独每次在每个文件里通过import关键字引入一个库或文件
原理:先监听complilation(编译)阶段,在编译阶段获取 nmf,然后监听 nmf 的 parser 阶段,在 parser 阶段遍历 ast 一旦发现对应的 name 就自动创建一个 Import 关键字 引入 name,比如 name 是 react