У меня есть этот сервер Hapi.js, для которого требуется 2 конечных точки для выполнения Basic auth (с использованием базового модуля hapi-auth-basic). Каждая логика конечных точек для проверки «имени пользователя/пароля» отличается, поэтому я нарушил эти две вещи в своих собственных плагинах.Hapi, js - Правильный способ включения плагина внутри плагина
В настоящее время это, как я регистрации плагинов:
...
server.register([Basic,
...
require('./auth/register-device'),
require('./auth/sender'),
...
], (err) => {
....
В то время как это работает, я должен убедиться, что Основной плагин также регистрируется.
Я пытался зарегистрировать Базовый плагин в моих плагинов зарегистрировать метод здесь (который я удалил и переехал в вышеуказанный файл):
https://github.com/salty-pig/Salty-Pig/blob/master/auth/sender.js#L29, но когда я сделал это для обоих плагинов, я получил ошибку что основной плагин уже зарегистрирован.
Я думаю, мне интересно, какая здесь лучшая практика. В моем случае это работает, так как я не распространяю эти плагины «auth».
Вопрос 2 был бы: если бы у меня был плагин, который я хотел сделать в модуле npm, который должен был включить другой плагин, для чего это лучший способ.
благодаря
Не уверен, что это означает: «Я должен убедиться, что основной плагин также зарегистрирован». Вы пытаетесь сделать круговую зависимость между Basic и Sender, не так ли? – estus
Я так не думаю. Плагину отправителя нужен плагин Basic для работы, но для плагина Basic плагин не нужен плагин Sender. Я имел в виду, что для плагинов отправителя и регистрационного устройства мне нужно сначала зарегистрировать основной плагин, я попытался зарегистрировать основной плагин внутри каждого из этих других плагинов, но это значит, что я уже получил ошибку об основном плагине будучи зарегистрированным – lholmquist
Было бы интересно узнать, как это должно быть правильно обработано. Я предполагаю, что поведение настраивается с опцией 'once' [здесь] (http://hapijs.com/api#serverregisterplugins-options-callback),' once' и 'multiple' options [здесь] (http: //hapijs.com/api#plugins). – estus