使用 commander inquirer 构建专业的node cli
生活随笔
收集整理的這篇文章主要介紹了
使用 commander inquirer 构建专业的node cli
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
備注: 比較簡單就是使用nodejs 的兩個類庫幫助我們進(jìn)行開發(fā)而已,具體的使用參考類庫文檔 1. 項目初始化 a. 安裝依賴
yarn init -y
yarn add commander inquirer ├── README.md
├── bin
│ └── index.js
├── package.json
└── yarn.lock 2. 項目代碼 a. package.json{"name": "mynode-cli","version": "1.0.2","main": "bin/index.js","license": "MIT","dependencies": {"commander": "^2.12.2","inquirer": "^4.0.2"},"bin": {"mynode-cli":"bin/index.js"},"scripts": {"publish":"npm publish","run-local":"node bin/index"}
}b. bin/index.js備注:主要操作
#!/usr/bin/env nodeconst Program = require("commander");
const Prompt = require("inquirer");
const initQuestions = [{type: 'list',name: 'plattype',message: '請選擇平臺類型?',choices: ['pass','sass','iaas']
},
{type: 'list',name: 'vmCounts',message: '請選擇您包含的虛擬機數(shù)量?',choices: ['100', '200', '500', '1000']
}
];
const loginQuestions = [{type: 'input',name: 'username',message: '請輸入用戶名',
},
{type: 'password',name: 'password',message: '請輸入用戶密碼'
}
];Program.version("0.1.0").description("系統(tǒng)平臺初始化工具").option("-i, --init","平臺初始化")Program.command("init").alias("i").description("初始化平臺").action(() => {Prompt.prompt(initQuestions).then(result => {console.log("您選擇的平臺類型信息如下:");console.log(JSON.stringify(result));})});Program.command("login").alias("l").description("登陸平臺").action(() => {Prompt.prompt(loginQuestions).then(result => {console.log("您登陸的賬戶信息如下:");console.log(JSON.stringify(result));})})
Program.parse(process.argv); 3. 使用 a. 安裝
npm install -g mynode-cli
b. 使用
mynode-cli -i init
mynode-cli -i login
mynode-cli -h
參考界面如下: 4. 總結(jié) 還是比較簡單的,同時有一個npm 包create-new-cli也是一個不錯的選擇 5.參考資料 https://www.npmjs.com/package/commander
https://www.npmjs.com/package/inquirer
https://github.com/rongfengliang/mynode-cli
總結(jié)
以上是生活随笔為你收集整理的使用 commander inquirer 构建专业的node cli的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVM 推到期间 遇到的 表背景知识 (
- 下一篇: 前后端分离实践有感