以编程方式加载 Sails 应用程序时,通常需要关闭未使用的钩子,这样做既可以优化性能,又可以确保 Sails 应用程序与包含它的 Node 脚本之间不会发生最小程度的干扰。要关闭钩子,请在发送到 .load()
或 .lift()
的第一个参数中的 hooks
字典中将其设置为 false
。
您可能还想关闭 Sails 全局变量,尤其是在同时加载多个 Sails 应用程序时。由于同一进程中的所有 Node 应用程序共享相同的全局变量,因此启动多个带有全局变量开启的 Sails 应用程序会导致模型、控制器和其他应用程序范围内的实体之间发生冲突。
// Turn off globala and commonly unused hooks in programmatic apps
mySailsApp.load({
hooks: {
grunt: false,
sockets: false,
pubsub: false
},
globals: false
})
最后,请注意,虽然可以使用 Sails 构造函数以编程方式创建和启动任意数量的 Sails 应用程序,但每个应用程序只能启动一次。一旦对应用程序调用 .lower()
,就不能再启动它。