以程式化的方式啟動 Sails 應用程式。
這個動作與您現在執行
sails lift
時所看到的完全相同。它會載入應用程式、執行其啟動程序 (bootstrap),然後開始監聽 HTTP 請求和 WebSocket 連線。這對於建構依賴 HTTP 請求的端對端整合測試,以及在 Sails 之上建構更高等級的工具非常有用。
sailsApp.lift(configOverrides, function (err) {
});
或者
sailsApp.lift(function (err) {...});
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | configOverrides | 一個配置字典,將覆蓋配置檔案中任何衝突的選項。如果提供此參數,它將合併到 sails.config 之上。 |
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | err | 啟動時遇到的錯誤,如果沒有錯誤則為 undefined 。 |
var Sails = require('sails').constructor;
var sailsApp = new Sails();
sailsApp.lift({
log: { level: 'warn' }
}, function (err) {
if (err) {
console.log('Error occurred lifting Sails app:', err);
return;
}
// --•
console.log('Sails app lifted successfully!');
});
.lift()
和.load()
之間的區別在於,.lift()
還會執行額外的步驟:(1) 執行應用程式的啟動程序 (bootstrap)(如果有的話),以及 (2) 發出ready
事件。核心http
hook 通常會透過在透過sails.config.port
(預設為 1337) 配置的端口上啟動 HTTP 伺服器來回應ready
事件。- 當 Sails 應用程式完全啟動時,它也會發出
lifted
事件。- 除了
NODE_ENV
和PORT
之外,透過環境變數設定的配置 不會自動應用於使用.lift()
啟動的應用程式,也不會應用於.sailsrc
檔案中設定的選項。如果您希望使用這些配置值,您可以透過require('sails/accessible/rc')('sails')
檢索它們,並將它們作為第一個參數傳遞給.lift()
。