从 Webpack Tapable 详解

时间:2021-08-05 10:32:45   收藏:0   阅读:25

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

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

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

tapable api:

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

 

同步钩子

 

异步钩子

原文:https://www.cnblogs.com/breakdown/p/15101604.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!