钩子的约定


【Conventions of hooks】

Hooks 是 链条 的一部分,即使该链只包含一个自定义(用户提供的)hook 和始终存在的默认 hook。Hook 函数是嵌套的:每个函数必须总是返回一个普通对象,而链式调用的发生是因为每个函数调用了 next<hookName>(),它是对后续加载器的 hook 的引用(按后进先出顺序)。

返回缺少必需属性的值的钩子会触发异常。一个钩子如果没有调用 next<hookName>() 并且也没有返回 shortCircuit: true,同样会触发异常。这些错误是为了帮助防止链条意外中断。从钩子返回 shortCircuit: true 表示链条在你的钩子处故意结束。