如同任何框架,Sails 的一大重點是自動化重複性任務。產生器(Generators)也不例外:它們驅動 Sails 命令列介面,在您每次為 Sails 專案產生新檔案時發揮作用。事實上,您或您的團隊成員可能曾經使用產生器來建立您最新的 Sails 專案。
當您輸入
sails new my-project
sails 會使用其內建的「new」產生器來提示您選擇應用程式範本,然後輸出 Sails 應用程式的初始資料夾結構
my-project
├── api/
│ ├─ controllers/
│ ├─ helpers/
│ └─ models/
├── assets/
│ └─ …
├── config/
│ └─ …
├── views/
│ └─ …
├── .gitignore
…
├── package.json
└── README.md
這種慣例的資料夾結構是使用框架的一大優勢。但它通常也是權衡取捨之一(如果您的團隊或組織已堅定承諾採用不同的慣例集,該怎麼辦?)。
幸運的是,自 Sails v0.11 以來,產生器是可擴展的,並且易於簽入專案儲存庫或發佈到 NPM 以供重複使用。
Sails 的產生器讓您可以完全自訂當您從命令列執行 sails new
和 sails generate
時會發生的情況。透過擴增新的應用程式和新產生的模組,自訂產生器可用於執行各種酷炫的功能
sails generate jquery
)sails generate component
或 sails generate ng-module
)如果您有興趣製作自訂產生器,最好的起點是查看自訂產生器簡介。您也可以查看社群的開源產生器,以防現有的某些東西可以為您節省一些時間。