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