自訂產生器是一種 Sails 命令列的插件類型。透過範本,它們控制當您執行 sails new
或 sails generate
時,在您的 Sails 專案中會產生哪些檔案,以及這些檔案的外觀。
為了更容易上手,我們先建立一個 Sails 專案。如果您尚未建立專案,請前往您的終端機並輸入
sails new my-project
然後 cd
進入 my-project
,並要求 Sails 輸出新產生器的範本
sails generate generator awesome
若要啟用產生器,您需要透過測試專案的 .sailsrc
檔案告知 Sails。
如果我們使用的是現有的產生器,我們可以從 NPM 安裝它,然後在 .sailsrc
中指定套件名稱。但由於我們是在本地開發這個產生器,我們只需將它直接連結到資料夾
{
"generators": {
"modules": {
"awesome": "./my-project/awesome"
}
}
}
注意: 目前,我們將使用 "awesome",但您可以將產生器掛載在任何您想要的名稱下。您在
.sailsrc
檔案中為金鑰選擇的名稱,將會是您從終端機執行此產生器的名稱 (例如sails generate awesome
)。
若要執行您的產生器,只需在 sails generate
後面加上它的名稱,然後加上任何想要的引數或命令列選項。例如
sails generate awesome
如果您的產生器在不同的專案中都很有用,您可以考慮將它發佈為 NPM 套件 (請注意,這並不表示您的產生器必須是開源的:NPM 也支援 私有套件。
首先,開啟 package.json
檔案並驗證套件名稱 (例如 "@my-npm-name/sails-generate-awesome")、作者 ("My Name")、授權條款和其他資訊是否正確。如果您不確定,一個好的開源授權條款是 "MIT"。如果您要發佈私有產生器,並希望它仍然是您組織的專有財產,請使用 "UNLICENSED"。
注意: 如果您還沒有 NPM 帳戶,請前往 npmjs.com 並建立一個。然後使用
npm login
進行設定。
當您準備好發佈您的產生器到 NPM 時,cd 進入終端機中產生器的資料夾並輸入
npm publish
若要試用您新發佈的產生器,cd 回到您的 Sails 範例專案 (my-project
),刪除內聯產生器,然後執行
npm install @my-npm-name/sails-generate-awesome
然後變更 Sails 範例專案 (my-project/.sailsrc
) 中的 .sailsrc
{
"generators": {
"modules": {
"awesome": "@my-npm-name/sails-generate-awesome"
}
}
}
最後但並非最不重要
sails generate awesome