和node理念一致,sails旨在保留其核心,拆分一些功能到分解的模块中去,它有三类扩展:
- 生成器:用于增加或覆盖Sails CLI中的方法
- 适配器:用于集成Waterline和新数据源
- 钩子:用于在sails的运行时间覆盖或注入新的方法
适配器
在sails和Waterline中,数据库适配器使sails中的模型可以与数据库进行交互。
常规响应
sails应用附带一些前置响应被称为动作码。初始响应会处理像"resource not found"或者"internal server error"这些场景。如果想更改这种初始响应,或者创建新的,可以在api/responses文件夹下加入新文件。
生成器
像很多框架一样,sails可以自动化重复的工作。生成器支持sails命令行接口使之可以在sails项目里自动生成文件。
只有使用
sails new my-project
sails使用new这个生成器来生成sails项目的模板,就会产生一个在笔记(一)中的项目结构。
钩子
钩子是一个node模块,向sails核心中增加功能。它定义了一些要求,一个sails中的模块要可以导入代码以及增加功能。因为它们可以从核心中分开存储,钩子使sails可以在应用和开发者之前共享代码而无须更改框架。