loader
loader是一个转换器,将A文件进行编译成B文件,比如: 将A.less转换为A.css,单纯的文件转换过程。
也就是说loader能让webpack能够处理非js文件,然后就可以利用webpack的打包能力,对它们进行处理。 例如:css-loader、style-loader、postcss-loader、sass-loader
plugin
plugin是一个扩展器,它丰富了webpack本身,针对是loader结束后,webpack打包的整个过程,它并不是直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务。
例如:uglify-webpack-plugin、clean-webpack-plugin、babel-polyfill
总结
通俗点讲就是 loader是转换(翻译官),plugin是执行比转换更复杂的任务(干苦力)。