- loader是文件加载器,能加载资源文件,并对这些文件进行一些处理,如:编译,压缩等。最终打包到指定文件中
- plugin是在webpack运行的生命周期中会广播出许多事件,plugin可以监听这些事件,在合适的时机中通过webpack提供的api改变输出结果。
区别
- Loader是文件转换器,将A文件进行编译形成B文件,这里操作的是文件,A.less->A.css
- plugin是扩展器,针对的是loader结束后webpack打包的整个过程,并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务。
其他资料
https://blog.cjw.design/blog/frontend/diy-webpack-loader
https://blog.cjw.design/blog/frontend/diy-webpack-plugin