将 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!');
});
- 这会处理加载配置文件、初始化钩子(包括 ORM)以及绑定路由。它**不会**运行引导程序,并且**不会**开始监听 HTTP 请求和 WebSocket 连接。
- 更具体地说,
.lift()
和.load()
之间的区别在于,.lift()
会额外执行以下步骤:(1) 运行应用的 引导程序(如果有),以及 (2) 发出ready
事件。核心http
钩子通常会响应ready
事件,并在通过sails.config.port
配置的端口(默认为 1337)上启动 HTTP 服务器。- 即使“已加载但未提升”的 Sails 应用不会在 HTTP 端口上监听请求,您也可以使用
sails.request
向其发出“虚拟”请求。- 有关在实践中的示例,请参阅 machine-as-script。
- 除了
NODE_ENV
和PORT
之外,通过环境变量设置的配置 不会自动应用于使用.load()
启动的应用,也不会应用于.sailsrc
文件 中设置的选项。如果您希望使用这些配置值,可以通过require('sails/accessible/rc')('sails')
获取它们,并将它们作为第一个参数传递给.load()
。