萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 使用nodejs開發cli項目實例

使用nodejs開發cli項目實例

   這篇文章主要介紹了使用nodejs開發cli項目實例,本文講解使用generator-cli-starter實現cli項目的開發,需要的朋友可以參考下

  1.分分鐘使用默認選項安裝完nodejs

  2.分分鐘使用sudo npm install -g yo安裝完yeoman

  3.通過sudo npm install -g generator-cli-starter安裝cli開發腳手架

  OK, 現在我們可以使用yo cli-starter命令開始我們cli開發之旅了

  創建cli項目

   代碼如下:

  yo cli-starter

  按照提示輸入項目名稱、命令名稱,完成cli項目創建。後續的教程中我們將使用hi作為你的命令名稱,如果你使用了其他命令名稱,請注意替換

  Let's try first

  現在命令行中輸入如下命令(如果你用的不是hi,注意替換)

   代碼如下:

  hi

  效果如下:

  試個常見命令?

  我們接下來就開發一個類似ls, ls -all的命令,這裡面需要用到一個node模塊commander,先來安裝一下:

  進入該項目根目錄執行npm install --save commander,

  然後用你喜歡的editor打開bin/hi.js,並用以下內容替換原先的代碼:

   代碼如下:

  #!/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,現在來試試我們剛寫好的命令吧,

  代碼如下:

  hi -V

  hi list

   代碼如下:

  hi list -a

  如何發布

  首先需要在Github上創建一個項目,並把我們剛才寫的代碼同步上去。

  然後通過npm publish命令將你的cli發布到npm。

  然後其他用戶就可以通過npm install -g [項目名稱]將你的命令安裝到本地使用了

copyright © 萬盛學電腦網 all rights reserved