loader和plugin区别
Loader的主要作用是转换文件
Plugin主要用于扩展Webpack的功能,提供更灵活的构建过程和自定义功能
总结来说,Loader是文件转换器,专注于文件的转换和处理,而Plugin是扩展器,用于扩展Webpack的功能并控制整个打包过程
常用的loader
1、file-loader:把文件输出到一个文件夹中,在代码中通过相对 URL 去引用输出的文件
2、url-loader:和 file-loader 类似,但是能在文件很小的情况下以base64 的方式把文件内容注入到代码中去
3、image-loader:加载并且压缩图片文件
4、babel-loader:把 ES6 转换成 ES5
5、css-loader:加载 CSS,支持模块化、压缩、文件导入等特
性
6、style-loader:
7、eslint-loader:通过 ESLint 检查 JavaScript 代码
常用的plugin
1、CompressionWebpackPlugin:开启gzip 对基于文本格式文件的压缩效果最好,如:CSS、JavaScript 和 HTML
2、HotModuleReplacementPlugin:启用热更新 (HMR),在运行中的应用程序中,替换、添加或删除模块,不需要完全刷新页面
3、DLLPlugin:拆分 bundles,从而大幅减少构建时间。将第三方依赖与项目分离,将所有第三方库代码单独打成dll文件,项目每次打包只需要打包本项目代码
4、HtmlWebpackPlugin:生成 html 文件并进行一些配置
5、TerserPlugin:压缩 JS