gpt4 book ai didi

javascript - 如何在 Hapi.js 中封装请求生命周期事件?

转载 作者:搜寻专家 更新时间:2023-11-01 00:40:37 24 4
gpt4 key购买 nike

我刚开始使用 hapi.js,我喜欢请求生命周期事件,我阅读的每个教程/指南都是这样展示它们的:

server.ext('onPreResponse', (request, reply) => {
// ... these are great.
});

但显然,我不想在主脚本的 server.register 中注册它们。我可以这样做:

const lifecycle = require('./server/lifecycle');
server.ext('onPreResponse', lifecycle.onPreResonse);

但是有没有办法进一步封装它,让我的主脚本保持精简,嗯……干净?

最佳答案

最有效的方法也是首选方法,将功能封装在插件中。不要将 hapi 插件视为传统的“插件”。它更像是一种更好地封装代码的方法。

将您的代码组织到插件中可以为您做一些事情。

  1. 迫使您更严格地封装功能
  2. 更容易跨项目重用代码
  3. 让将所有功能加载到 hapi 中变得更加简洁和直接。

这是您的插件的示例:

exports.register = (server, options, next) => {

server.ext('onPreResponse', (request, reply) => {
// ... these are great.
});

next()
}

exports.register.attributes = {
name: 'great-things',
version: '1.0.0'
}

事实上,当我使用 hapi 构建站点时,我将所有功能放入 /app/plugins 目录中的插件中,然后在需要时将它们分解为单独的 Node.js 模块在不同的项目中重用它们。

关于javascript - 如何在 Hapi.js 中封装请求生命周期事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35756869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com