.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
関数は、他のフックの設定を調べることができます。