打包器如何融入脚本?

理解这个问题,类似于理解 plugin 的概念: 所谓的 plugin 其实就是一种在现有功能的基础上提供的扩展功能。 本质上是 在某一个时机(hooks)下,根据当前的状态(形参)执行特性的事情,并返回对应的结果(返回值)。 那么如果想要让编译器支持这样的 plugin ,那么就需要提供对应的 hooks 和插入方式。

以 webpack 为例:

js 复制代码
export default {
  plugins: [
    new HTMLWebpackPlugin()
  ]
}

那么此时,"webpack实例"就可以通过 plugins 这个数组,拿到所有的插件。其中每个插件都是一个具体的实例对象。

webpack 可以控制这些 plugin 实例,让他们在特定的实际下进行执行,传递 context 上下文参数(代表的应该是整个编译流程下的核心对象)。插件可以通过修改 context 中的某些属性来得到想要完成的目的。

以 HTMLWebpackPlugin 为例,他就可以在 context 中获取到 html 文本,对其进行修改。

相关推荐
~无忧花开~2 分钟前
CSS学习笔记(五):CSS媒体查询入门指南
开发语言·前端·css·学习·媒体
程序猿小D9 分钟前
【完整源码+数据集+部署教程】【零售和消费品&存货】价格标签检测系统源码&数据集全套:改进yolo11-RFAConv
前端·yolo·计算机视觉·目标跟踪·数据集·yolo11·价格标签检测系统源码
吴鹰飞侠18 分钟前
AJAX的学习
前端·学习·ajax
JNU freshman24 分钟前
vue 技巧与易错
前端·javascript·vue.js
落一落,掉一掉31 分钟前
第十二周 waf绕过和前端加密绕过
前端
Asort32 分钟前
JavaScript设计模式(十六)——迭代器模式:优雅遍历数据的艺术
前端·javascript·设计模式
Coffeeee40 分钟前
Labubu很难买?那是因为还没有用Compose来画一个
前端·kotlin·android jetpack
我是日安41 分钟前
从零到一打造 Vue3 响应式系统 Day 28 - shallowRef、shallowReactive
前端·javascript·vue.js
开源之眼43 分钟前
深入理解 JavaScript 报错:TypeError: undefined is not a function
前端·javascript
LRH43 分钟前
时间切片 + 双工作循环 + 优先级模型:React 的并发任务管理策略
前端·react.js