0
我有這個Hapi.js服務器需要2個端點來執行基本身份驗證(使用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
我不這麼認爲。 Sender插件確實需要Basic插件才能工作,但Basic插件不需要Sender插件。我的意思是,發件人和註冊設備插件的工作,我需要先註冊基本插件,我試圖在每個其他插件註冊基本插件,但那是當我有關於基本插件的錯誤已經正在註冊 – lholmquist
瞭解如何正確處理這個問題也很有趣。我的猜測是,這種行爲可以通過'once'選項[here](http://hapijs.com/api#serverregisterplugins-options-callback),'once'和'multiple'選項[here(http: //hapijs.com/api#plugins)。 – estus