fastify-plugin 的具体用途是什么

What is the exact use of fastify-plugin

我是 node.js 的 fastify 框架的新手,我想知道 fastify-plugin 的确切用途是什么 因为我无法理解它背后的想法。我在有或没有插件的情况下尝试了一些代码,但我没有注意到其中的区别。除了某些行为,如 :

1- 我可以覆盖我启动的装饰器并用 fastify-plugin.

包装它

2- 我可以使用装饰器并与其他注册插件共享。

概念是这个:

  • 每个 register 调用都会创建一个封装的上下文
  • 每个 register + fastify-plugin 不会 创建一个封装的上下文:您将留在调用 register 的相同上下文中

您将使用的封装上下文:

  • 上下文及其父项中的所有挂钩
  • 上下文及其父级中的所有装饰器

这是一个可视化:

因此,如果您在根节点(蓝色节点)中添加一个 onRequest 挂钩,所有路由都将执行该挂钩

如果您改为在绿色的钩子中添加 onRequest 钩子,则只有在该上下文中定义的路由才会使用该钩子。