HTTPサーバーを起動せずに、Sailsアプリをメモリにロードします。
テスト、コマンドラインスクリプト、およびスケジュールされたジョブの作成に役立ちます。
sailsApp.load(configOverrides, function (err) {
});
または
sailsApp.load(function (err) {...});
引数 | 型 | 詳細 | |
---|---|---|---|
1 | configOverrides | 構成ファイルにある競合するオプションを上書きする構成の辞書です。指定された場合、これはsails.config の上にマージされます。 |
引数 | 型 | 詳細 | |
---|---|---|---|
1 | err | ロード中に発生したエラー、またはエラーがない場合はundefined 。 |
var Sails = require('sails').constructor;
var sailsApp = new Sails();
sailsApp.load({
log: {
level: 'error'
}
}, function (err) {
if (err) {
console.log('Error occurred loading Sails app:', err);
return;
}
// --•
console.log('Sails app loaded successfully!');
});
- これにより、構成ファイルのロード、フック(ORMを含む)の初期化、およびルートのバインドが行われます。ただし、ブートストラップは実行されませんし、HTTPリクエストとWebSocket接続のリスニングも開始されません。
- より具体的には、
.lift()
と.load()
の違いは、.lift()
がさらに(1)アプリのブートストラップ(存在する場合)を実行し、(2)ready
イベントを発行するというステップを実行することです。コアのhttp
フックは通常、sails.config.port
(デフォルトでは1337)で構成されたポートでHTTPサーバーを起動することでready
イベントに応答します。- 「ロード済みだが起動されていない」SailsアプリはHTTPポートでリクエストをリッスンしませんが、
sails.request
を使用して「仮想」リクエストを行うことができます。- この実例については、machine-as-scriptを参照してください。
NODE_ENV
とPORT
を除き、環境変数で設定された構成は、.load()
を使用して開始されたアプリには自動的に適用されません。また、.sailsrc
ファイルで設定されたオプションも適用されません。これらの構成値を使用する場合は、require('sails/accessible/rc')('sails')
を使用してそれらを取得し、.load()
の最初の引数として渡すことができます。