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