返回
Tapable v1.1 文档翻译+详解
前端
2023-10-29 03:41:18
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!