將 Sails 應用程式載入記憶體,但不啟動 HTTP 伺服器。
適用於編寫測試、命令列腳本和排程任務。
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!');
});
- 這會處理載入設定檔、初始化 hooks (包括 ORM) 和綁定路由。 它不會執行 bootstrap,並且不會開始監聽 HTTP 請求和 WebSocket 連線。
- 更具體地說,
.lift()
和.load()
之間的區別在於,.lift()
會額外執行步驟:(1) 執行應用程式的 bootstrap(如果有的話),以及 (2) 發出ready
事件。 核心http
hook 通常會響應ready
事件,在透過sails.config.port
(預設為 1337)配置的端口上啟動 HTTP 伺服器。- 即使「已載入但未啟動」的 Sails 應用程式不監聽 HTTP 端口上的請求,您也可以使用
sails.request
對其發出「虛擬」請求- 有關實際應用的範例,請參閱 machine-as-script。
- 除了
NODE_ENV
和PORT
之外,透過環境變數設定的配置 不會自動應用於使用.load()
啟動的應用程式,也不會應用於.sailsrc
檔案 中設定的選項。 如果您希望使用這些配置值,可以透過require('sails/accessible/rc')('sails')
檢索它們,並將它們作為第一個參數傳遞給.load()
。