要在你的应用中使用项目钩子,首先创建 api/hooks
文件夹(如果它不存在)。然后 创建项目钩子 或将要使用的钩子的文件夹复制到 api/hooks
中。
要在你的应用中使用可安装钩子,只需运行带有钩子包名的 npm install
命令(例如 npm install sails-hook-autoreload
)。你也可以手动复制或链接 你创建的可安装钩子文件夹 直接到你的应用的 node_modules
文件夹中。
钩子公开的任何方法都可以在 sails.hooks[<hook-name>]
对象中使用。例如,sails-hook-email
钩子提供了一个 sails.hooks.email.send()
方法(请注意,sails-hook-
前缀会被去除)。请查阅钩子的文档以确定它提供了哪些方法。
将可安装钩子添加到你的应用后,你可以使用常规的 Sails 配置文件(如 config/local.js
、config/env/development.js
或你自己创建的自定义配置文件)来配置它。钩子设置通常在钩子名称下命名空间,并去除任何 sails-hook-
前缀。例如,sails-hook-email
的 from
设置可在 sails.config.email.from
中使用。可安装钩子的文档应描述可用的配置选项。
在极少数情况下,你可能需要更改 Sails 用于可安装钩子的名称,或更改钩子使用的配置键。如果你的项目钩子与可安装钩子同名,或者你已经在使用配置键用于其他用途,则可能出现这种情况。为了避免这些冲突,Sails 提供了 sails.config.installedHooks.<hook-identity>
配置选项。钩子标识符**始终**是安装钩子的文件夹名称。
// 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
文件。