sudo npm install -g yo
安裝完yeoman sudo npm install -g generator-cli-starter
安裝cli開發腳手架OK, 如今咱們能夠使用
yo cli-starter
命令開始咱們cli
開發之旅了javascript
cli
項目bashyo cli-starter
按照提示輸入
項目名稱
、命令名稱
,完成cli
項目建立。後續的教程中咱們將使用hi
做爲你的命令名稱
,若是你使用了其餘命令名稱,請注意替換java
如今命令行中輸入以下命令(若是你用的不是hi
,注意替換)node
bashhi
效果以下:git
咱們接下來就開發一個相似ls
, ls -all
的命令,這裏面須要用到一個node
模塊commander,先來安裝一下:github
進入該項目根目錄執行npm install --save commander
,npm
而後用你喜歡的editor打開bin/hi.js
,並用如下內容替換原先的代碼:bash
javascript#!/usr/bin/env node 'use strict'; var program = require('commander'); program .version('0.0.1');//聲明hi的版本號 program .command('list')//聲明hi下有一個命令叫list .description('list files in current working directory')//給出list這個命令的描述 .option('-a, --all', 'Whether to display hidden files')//設置list這個命令的參數 .action(function(options) {//list命令的實現體 var fs = require('fs'); //獲取當前運行目錄下的文件信息 fs.readdir(process.cwd(), function(err, files) { var list = files; if (!options.all) {//檢查用戶是否給了--all或者-a的參數,若是沒有,則過濾掉那些以.開頭的文件 list = files.filter(function(file) { return file.indexOf('.') !== 0; }); } console.log(list.join(' '));//控制檯將全部文件名打印出來 }); }); program.parse(process.argv);//開始解析用戶輸入的命令
OK,如今來試試咱們剛寫好的命令吧,ui
bashhi -V
bashhi list
bashhi list -a
首先須要在Github上建立一個項目,並把咱們剛纔寫的代碼同步上去。spa
而後經過npm publish
命令將你的cli發佈到npm。命令行
而後其餘用戶就能夠經過npm install -g [項目名稱]
將你的命令安裝到本地使用了