编辑页面

Sails 应用的生命周期

Sails 核心已经迭代了几次,使其更易于维护和扩展。因此,它具有非常特殊的加载顺序,其钩子依赖于此顺序。此过程总结如下。

(1) 加载配置“覆盖”

#

收集命令行、环境变量和编程配置(即传递给 sails.loadsails.lift 的选项)中传递的一组配置值。当通过命令行界面(通过键入 sails liftsails console)启动应用程序时,任何 .sailsrc 文件的值也将被合并到配置覆盖中。这些覆盖值将优先于下一步中遇到的任何用户配置。

(2) 加载用户配置

#

除非显式禁用 userconfiguration 钩子,否则 Sails 将在下一步加载当前工作目录下 config 文件夹(和子文件夹)中的配置文件。有关用户配置的更多详细信息,请参见 概念 > 配置。来自步骤 1 的配置设置将合并到这些值之上以形成 sails.config 对象。

(3) 加载钩子

#

接下来,Sails 将加载其他钩子。 核心钩子 将首先加载,然后是用户钩子和可安装钩子。请注意,钩子通常包含自己的配置,这些配置将用作 sails.config 中的默认值。例如,如果此时未配置任何 port 设置,则将使用 http 钩子的默认值 1337。

(4) 组装路由器

#

Sails 准备核心路由器,然后在 sails 对象上发出多个事件,通知钩子它们可以安全地绑定路由。

(5) 公开全局变量

#

在所有钩子初始化后,Sails 将公开全局变量(默认情况下:sails 对象、模型、服务、_async)。

(6) 初始化应用程序运行时

#

当以编程方式使用 sails.load() 时,此步骤不会运行。要运行初始化步骤,请改用 sails.lift()

常见问题解答

#

缺少什么吗?

如果您注意到我们遗漏了什么或可以改进的地方,请按照 此链接 并向 sails 存储库提交拉取请求。一旦我们合并它,更改将在下次部署时反映在网站上。

参考

参考