Шаблон для добавления параметров плагина в обработчики маршрута Hapi, определенные в отдельных файлах - PullRequest
0 голосов
/ 17 октября 2018

Я разрабатываю свой плагин для приложения 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) чистым или четко определенным способом?

1 Ответ

0 голосов
/ 28 октября 2018

Итак, я обнаружил, что параметры плагина доступны для объекта инструментария следующим образом ...

h.realm.pluginOptions
...