若要在您的應用程式中使用專案 Hook,首先建立 api/hooks
資料夾 (如果尚不存在)。然後建立專案 Hook,或將您要使用的 Hook 資料夾複製到 api/hooks
中。
若要在您的應用程式中使用可安裝的 Hook,只需執行 npm install
並加上您要安裝的 Hook 的套件名稱 (例如 npm install sails-hook-autoreload
)。您也可以手動複製或連結您已建立的可安裝 Hook 資料夾,直接放入您應用程式的 node_modules
資料夾中。
Hook 公開的任何方法都可以在 sails.hooks[<hook-name>]
物件中使用。例如,sails-hook-email
Hook 提供了 sails.hooks.email.send()
方法 (請注意 sails-hook-
前綴已被移除)。請查閱 Hook 的文件以確定它提供了哪些方法。
一旦您將可安裝的 Hook 新增到您的應用程式中,您可以使用常規的 Sails 設定檔 (例如 config/local.js
、config/env/development.js
,或您自己建立的自訂設定檔) 來設定它。Hook 設定通常以 Hook 的名稱作為命名空間,並移除任何 sails-hook-
前綴。例如,sails-hook-email
的 from
設定可以透過 sails.config.email.from
取得。可安裝 Hook 的文件應描述可用的設定選項。
在極少數情況下,您可能需要變更 Sails 用於可安裝 Hook 的名稱,或變更 Hook 使用的設定金鑰。如果您已經有一個與可安裝 Hook 同名的專案 Hook,或者您已經將設定金鑰用於其他用途,則可能會發生這種情況。為了避免這些衝突,Sails 提供了 sails.config.installedHooks.<hook-identity>
設定選項。Hook 識別名稱永遠是 Hook 安裝所在資料夾的名稱。
// config/installedHooks.js
module.exports.installedHooks = {
"sails-hook-email": {
// load the hook into sails.hooks.emailHook instead of sails.hooks.email
"name": "emailHook",
// configure the hook using sails.config.emailSettings instead of sails.config.email
"configKey": "emailSettings"
}
};
注意:您可能需要自行建立
config/installedHooks.js
檔案。