.configure
configure
功能提供了一種在 defaults
物件 應用於所有 Hook 之後配置 Hook 的方法。當自訂 Hook 的 configure()
函式執行時,所有使用者層級的配置和核心 Hook 設定都將合併到 sails.config
中。但是,您不應該在此時依賴其他自訂 Hook 的配置,因為自訂 Hook 的載入順序無法保證。
configure
應該實作為一個不帶任何參數的函式,並且不應傳回任何值。例如,以下 configure
函式可以用於與遠端 API 通訊的 Hook,以根據使用者是否將 Hook 的 ssl
屬性設定為 true
來變更 API 端點。請注意,Hook 的配置鍵在 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
的主要好處是保證所有 Hook 的 configure
函式都會在任何 initialize
函式 執行之前執行;因此,Hook 的 initialize
函式可以檢查其他 Hook 的配置設定。