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
钩子,则只有在该上下文中定义的路由才会使用该钩子。
我是 node.js 的 fastify 框架的新手,我想知道 fastify-plugin 的确切用途是什么 因为我无法理解它背后的想法。我在有或没有插件的情况下尝试了一些代码,但我没有注意到其中的区别。除了某些行为,如 :
1- 我可以覆盖我启动的装饰器并用 fastify-plugin.
包装它2- 我可以使用装饰器并与其他注册插件共享。
概念是这个:
- 每个
register
调用都会创建一个封装的上下文 - 每个
register
+fastify-plugin
不会 创建一个封装的上下文:您将留在调用register
的相同上下文中
您将使用的封装上下文:
- 上下文及其父项中的所有挂钩
- 上下文及其父级中的所有装饰器
这是一个可视化:
因此,如果您在根节点(蓝色节点)中添加一个 onRequest
挂钩,所有路由都将执行该挂钩。
如果您改为在绿色的钩子中添加 onRequest
钩子,则只有在该上下文中定义的路由才会使用该钩子。