Webpack插件浅析

常用的webpack插件功能介绍:

1.HotModuleReplacementPlugin

模块热更新插件。Hot-Module-Replacement的热更新是依赖于webpack-dev-server,有时是在打包文件改变时更新打包文件或者重新加载刷新整个页面,HMR是只更新修改的部分。

HotModuleReplacementPlugin是webpack模块自带的,在plugins配置项中直接使用即可。

javascript 复制代码
const webpack = require('webpack')
plugins: [  new webpack.HotModuleReplacementPlugin(), // 热更新插件]

02、html-webpack-plugin

html-webpack-plugin的主要作用就是在webpack构建后生成html文件,同时把构建好入口js文件引入到生成的html文件中。

03、clean-webpack-plugin

clean-webpack-plugin用于在打包前清理上一次项目生成的bundle文件,它会根据output.path自动清理文件夹。

04 、mini-css-extract-plugin

css提取插件

**产生背景:**在进行打包时,css代码会打包到js中,不利于文件缓存

**作用:**依据每个entry生成单个css文件(将css从js中提取出来)

loader和plugins的区别:

  * loader是文件加载器,能够加载资源文件,并对文件进行一些处理,如编译压缩等,最终一起打包到指定的文件中。
  * plugin赋予了webpack各种灵活的功能,如打包优化资源管理环境变量注入 等,目的是为了解决loader无法实现的功能

从上图可以看出:

  * loader运行在项目打包之前;

  * plugins运行在整个项目的编译时期;

Webpack 运行的整个生命周期中会广播出许多事件,Plugin会监听这些事件,在合适的事件通过 webpack 提供的 api 改变输出结果。

对于 loader 而言,它实质上是一个转换器,将A文件编译成B文件,操作的是 文件 **,**比如将A文件编译成B文件,单纯的是一个文件转换过程。

参考:webpack(四)------webpack里面的plugin和loader的区别 - 颗就完了 - 博客园 (cnblogs.com)

相关推荐
lichenyang4532 分钟前
鸿蒙实战:聊天记录持久化 · 历史会话页面 · 两个真实 Bug 的定位与修复
前端
天蓝色的鱼鱼5 分钟前
前端也能写 AI Agent?用 Vercel AI SDK 十分钟跑通你的第一个智能助手
前端·ai编程
DevUI团队10 分钟前
接口即代码:一个Skill轻松搞定类型定义、接口调用、Mock与调试
前端·agent·ai编程
DevUI团队12 分钟前
从截图到企业级前端页面:2个Skill,1次对话,10X效率开发符合设计/编码规范的页面
前端·agent·ai编程
xiaofeichaichai13 分钟前
网络与跨域
前端·网络
七牛云行业应用27 分钟前
别每次重复配置了!CLAUDE.md + Hooks 让 Claude Code 开箱就记住你的规则
前端
超人气王33 分钟前
新手学前端 JavaScript 类型判断:一篇彻底搞懂 typeof、instanceof 和 Object.prototype.toString
前端·javascript
LucianaiB41 分钟前
耗时30天,DocPilot Qwen正式开源:一个免费无广的开源文档 AI 助手
前端·后端
xiaoshuaishuai81 小时前
C# AvaloniaUI 资源找不到报错
java·服务器·前端·windows·c#