返回

Tapable v1.1 文档翻译+详解

前端

Tapable 提供了一系列钩子类(Hook classes),可用于为插件创建钩子。所有钩子类的构造函数都接受一个可选参数,该参数是该钩子所接受的参数的参数名数组。为了定位你的插件,必须提供一个合适的名字(如上例中的 WarningLampPlugin)。对于同步钩子,Tapable v1.1 提供以下钩子类:

Tapable.SyncHook

构造函数:

new Tapable.SyncHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

Tapable.SyncBailHook

构造函数:

new Tapable.SyncBailHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

Tapable.SyncWaterfallHook

构造函数:

new Tapable.SyncWaterfallHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

Tapable.SyncLoopHook

构造函数:

new Tapable.SyncLoopHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

Tapable.SyncReturnValueHook

构造函数:

new Tapable.SyncReturnValueHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

Tapable.SyncIterableHook

构造函数:

new Tapable.SyncIterableHook([comparators])
  • comparators 是一个可选参数,它是一个比较函数的数组。如果提供了比较函数,则在调用钩子时会使用这些函数来比较参数。

示例

以下示例演示了如何使用 Tapable.SyncHook 创建一个同步钩子:

const hook = new Tapable.SyncHook(['name']);

hook.tap('MyPlugin', (name) => {
  console.log('Hello, ' + name + '!');
});

hook.call('John');

输出:

Hello, John!