.configure
configure
功能提供了一种在 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
函数可以检查其他钩子的配置设置。