• 周日. 9月 25th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

从 Webpack Tapable 详解

admin

11月 28, 2021

Webpack本质基于事件流,流程就是将各个插件串联执行,实现此功能的核心就是tapable。

tapable 是一个类似于 Node.js 中的 EventEmitter的库,更专注于自定义事件的触发和处理。webpack 通过 tapable 将实现与流程解耦,所有具体实现通过插件的形式存在。

最终:webpack 通过 tapable 的钩子设计完美实现与流程解耦开来

tapable api:

const {
    SyncHook,
    SyncBailHook,
    SyncWaterfallHook,
    SyncLoopHook,
    AsyncParallelHook,
    AsyncParallelBailHook,
    AsyncSeriesHook,
    AsyncSeriesBailHook,
    AsyncSeriesWaterfallHook 
 } = require("tapable");

同步钩子

异步钩子

发表回复

您的电子邮箱地址不会被公开。