.configureconfigure 功能提供了一种在 defaults 对象 应用于所有钩子之后配置钩子的方法。当自定义钩子的 configure() 函数运行时,所有用户级别的配置和核心钩子设置将被合并到 sails.config 中。但是,您不应该依赖于此时其他自定义钩子的配置,因为自定义钩子的加载顺序不能保证。
configure 应该被实现为一个不带参数的函数,并且不返回任何值。例如,以下 configure 函数可用于与远程 API 通信的钩子,以根据用户是否将钩子的 ssl 属性设置为 true 来更改 API 端点。请注意,钩子的配置键在 configure 中可用为 this.configKey
configure: function() {
// If SSL is on, use the HTTPS endpoint
if (sails.config[this.configKey].ssl == true) {
sails.config[this.configKey].url = "https://" + sails.config[this.configKey].domain;
}
// Otherwise use HTTP
else {
sails.config[this.configKey].url = "http://" + sails.config[this.configKey].domain;
}
}
configure 的主要优点是,所有钩子 configure 函数都保证在任何 initialize 函数 运行之前运行;因此,钩子的 initialize 函数可以检查其他钩子的配置设置。