webpack流程
插件就是在两个阶段之间插进去
imagemin-webpack-plugin
GitHub
/src/index.js
思路
clean-webpack-plugin
GitHub
/src/clean-webpack-plugin.ts
思路
ProvidePlugin
/lib/ProvidePlugin.js
思路
Loader和Plugin的区别
webpack 中 loader 和 plugin 的区别是什么
- loader,它是一个转换器,将A文件进行编译成B文件,比如:将A.less转换为A.css,单纯的文件转换过程。
- plugin是一个扩展器,它丰富了webpack本身,针对是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务
自制Plugin
- 对 webpack hooks 的了解
- 对编译原理的了解
- 对 chunk、hash、module、dep、factory 等概念的理解