使用nodejs開發cli項目執行個體_node.js

來源:互聯網
上載者:User

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 [項目名稱]將你的命令安裝到本地使用了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.