configure()

configure特性提供了一种在default对象已经被应用到所有钩子之后还可以配置一个钩子的方法。等到一个自定的钩子的configure()函数运行的时候,所有用户级别的配置和内核钩子设置将会被合并到sails.config中。但是,这时候你不应该依赖于其他自定义的钩子的配置,因为自定义钩子的加载顺序是不能保证的。

configure应该被实现成一个没有参数的函数,并且不应该返回任何值。比如,下面的configure函数可以被一个钩子用来与一个远程API通信,并基于用户是否设置钩子的ssl属性为true来改变API的终结点。注意钩子的配置关键词this.configKeyconfigure中可用。

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函数可以在其他钩子的设置中检查。

results matching ""

    No results matching ""