1. 首先,对英文单词进行翻译
loader:加载器(它的功能比较单一) plugin:插件(功能比较多,千奇百怪)
2. 然后,对中文单词进行翻译
加载器:用来去node一个文件 举例: bable loader 是用来加载高级的JS,把它变成IE支持的JS css/style loader 是用来加载css然后把它变成页面中的标签
插件:用来加强功能
举例:
-
css插件用来把多个css文件合并成一个css文件
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -
html插件用来生成html文件
const HtmlWebpackPlugin = require('html-webpack-plugin');
3. 总结
webpack loader是用来加载文件的,webpack plugin是用来扩展webpack功能的;
loader是用来加载一个又一个的文件的,比如说:它可以加载js文件,把js文件转译成低版本浏览器可以支持的js,用来加载css文件,可以把css文件变成页面上的style标签或者其他的一些处理,还可以加载图片文件,对图片进行一些优化;
plugin是用来加强webpack功能的,比如说有一个插件叫HtmlWebpackPlugin,是用来生成一个html文件的,还有一个叫做MiniCssExtractPlugin,它是用来抽取css代码的把它变成一个文件的;
loader是一对一,plugin是多对一,这是二者的区别 。