本教程展示瞭如何使用Caporal.js創建node.js命令行界面(CLI)工具來自動創建新的JavaScript項目。 厭倦了重複的項目設置?該解決方案允許您構建一個可自定義的腳手架工具來簡化工作流程。
https://www.php.cn/link/2f803d26ce47b9f9de9ef69e5b73e3e3e3e3e3e3d1 prompt
shelljs
>
創建一個項目目錄並以以下依賴關係初始化a
package.json
{ "name": "scaffold", "version": "1.0.0", "main": "index.js", "bin": { "scaffold": "index.js" }, "dependencies": { "caporal": "^0.3.0", "colors": "^1.1.2", "prompt": "^1.0.0", "shelljs": "^0.7.7" } }
npm install
)及其輸入點(bin
)。 package.json
。
scaffold
index.js
>
index.js
文件定義了CLI命令及其動作。 我們的CLI將具有一個單個
index.js
create
創建項目模板
#!/usr/bin/env node const prog = require('caporal'); const createCmd = require('./lib/create'); prog .version('1.0.0') .command('create', 'Create a new application') .argument('<template>', 'Template to use') .option('--variant <variant>', 'Which variant of the template to create') .action(createCmd); prog.parse(process.argv);
模板定義項目結構和文件。創建一個>目錄,然後為每個模板類型(例如,,
)進行子目錄。 每個模板目錄應包含必要的文件,並包含佔位符變量(例如,templates
)的templates/node/default
>。 atemplates/node/mvc
文件列出了用戶輸入的這些變量。 package.json
[NAME]
[VERSION]
_variables.js
>
{ "name": "scaffold", "version": "1.0.0", "main": "index.js", "bin": { "scaffold": "index.js" }, "dependencies": { "caporal": "^0.3.0", "colors": "^1.1.2", "prompt": "^1.0.0", "shelljs": "^0.7.7" } }
>此功能處理複製模板文件,提示用戶獲取可變值,並替換文件中的佔位符。 shelljs.sed
命令對於此動態替換至關重要。
使CLI全球可用
> 在項目目錄中運行npm link
,以使CLI在全球範圍內訪問。 然後,您可以從任何目錄中運行命令。 scaffold create node --variant mvc
>
擴展CLI
這種方法的靈活性允許大量擴展:添加更多命令。
以上是使用Caporal.js創建自己的Yeoman風格的腳手架工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!