loader和plugin的区别
1.两者都是为了扩展webpack的功能,loader它只专注于转化文件(transform)这一领域,完成压缩,打包,语言编译,而plugin不仅只局限在打包,资源的加载上,还可以打包优化和压缩,重新定义环境变量等。
2.loader运行在打包文件之前,(loader为在模块加载时的预处理文件);plugins在整个编译周期都起作用。
3.一个loader的职责是单一的,只需要完成一种转换,一个loader其实就是一个Nod.js模块。当需要调用多个loader去转换一个文件时,每个loader会链式打的顺序执行
4.在webpack运行的生命周期中会广播出许多事件,piugin会监听这些事件,在核实的时机通过webpack提供的API改变输出结果。