# webpack-tapable **Repository Path**: pipepandafeng/webpack-tapable ## Basic Information - **Project Name**: webpack-tapable - **Description**: webpack中tapable分析 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-10-10 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: webpack ## README # ✈️ webpack-tapable分析 > Tapable 包公开了许多 Hook 类,可用于为插件创建钩子。 > 本项目主要分析webpack中tapable实现原理 ![tapable](./public/img/tapable.png) --- ## tapable 库中有三种注册方法 * `tap` 同步注册 * `tapAsync(cb)` * `tapPromise`(注册是promise) --- ## tapable 库中有三种调用方法 * `call` * `callAsync` * `promsie` --- ## 同步的钩子 ### SyncHook 同步钩子 > 注册同步函数,依次执行,上一个函数执行完成,进行下一个函数。 ### SyncBailHook 同步保险钩子 > 遇到返回不为undefined就不执行下面的函数 ### SyncWaterfallHook 同步瀑布钩子 > 前面一个注册函数的返回值给后面的函数使用 ### SyncLoopHook 同步循环钩子 > 同步遇到每个不返回的监听函数会多次执行 --- ## 异步的钩子 * 串行 * 并行 需要等待所有的异步事件执行后在执行回调函数 ### AsyncParallelHook ---