Я разрабатываю свой плагин для приложения Hapi, и мои маршруты хранятся в отдельном файле, чтобы файл выполнял вызов плагина server.route
.Кроме того, обработчики для этих маршрутов также находятся в отдельных файлах.например,
- plugin.js
- routes.js
- handlers/
- route1.js
- route2.js
plugin.js
- это что-то вроде ....
const routes = require('./routes.js')
...
server.route(routes)
routes.js
- это что-то вроде ...
module.exports = [
{
method: 'GET',
path: '/route1',
handler: require('./handlers/route1')
},
...
]
и обработчикфункции экспорта файлов с подписью (request, h)
.
Моим обработчикам маршрутов (и не только) нужен доступ к опциям, переданным при регистрации плагина, но все, к чему они имеют доступ, это (request, h)
Я могуОберните определения маршрутов и каждый из обработчиков маршрутов функциями, которые вводят options
в область видимости, но это похоже на определение соглашений и фольклора вокруг структуры проектов, а также я чувствую, что это может вызвать проблемы со странностью определения / закрытия Javascript.
Существует ли общая библиотека / шаблон Hapi, позволяющая мне вставлять параметры плагинов в обработчики маршрутов, например, разрешать подпись типа (request, h, options)
чистым или четко определенным способом?