webpack 中 loader 和 plugin 的区别
通俗点讲loader是转换,plugin是执行比转换更复杂的任务,比如合并压缩等
loader:让webpack能够处理非js文件,然后你就可以利用 webpack 的打包能力,对它们进行处理。
例如:css-loader、style-loader、postcss-loader、sass-loader
plugins:从打包优化和压缩,一直到重新定义环境中的变量.
例如:uglify-webpack-plugin、clean-webpack-plugin、babel-polyfill
相对于loader转换指定类型的模块功能,plugins能够被用于执行更广泛的任务比如打包优化、文件管理、环境注入等……
loader,它是一个转换器,将A文件进行编译成B文件,比如:将A.less转换为A.css,单纯的文件转换过程。
plugin是一个扩展器,它丰富了webpack本身,针对是loader结束后,webpack打包的整个过程,它并不直接操作文件,而是基于事件机制工作,会监听webpack打包过程中的某些节点,执行广泛的任务