从功能区分
loader
是文件加载器
能够加载资源文件并对这些文件进行统一的处理,诸如编译,压缩 最终一起打包在制定的文件夹中
处理一个文件可以使用多个loader loader的执行顺序和配置顺序整好相反
第一个执行的loader的返回值接收源文件内容做参数
其他的loader接收前一个执行的loader的返回值作为参数 最后执行的loader会返回次模块的js源码
编写ziji
plugin
plugin的功能更加强大,loader不能做的,plugin都能做
plugin的功能要更加丰富,从打包 优化和压缩,到从新定义环境变量。功能强大到可以用来处理各种各样的任务。
扩展webpack 的功能,
从运行时机的角度区分
loader在打包文件之前,做文件资源的转换
plugins在整个编译周期都起作用。