發佈自 Kindem的博客,歡迎你們轉載,可是要注意註明出處
一直想本身發佈一個npm包試試,正巧剛剛學完操做系統,寫了不少shell類型的小程序,就想着要不在nodejs上封裝一套用於快速建立簡單shell類應用的庫,因而quick-shell.js就誕生了javascript
使用quick-shell你能夠快速構建一個shell類型的簡單應用,很是適合使用js作課設或者一些小demojava
該包已經發布在npm上了,能夠直接使用npm安裝到項目依賴node
npm install quick-shell
let shell = require('quick-shell'); shell .welcome('welcome to my shell program') .prompt('$ ') .listen('echo', (params) => { console.log(params); }) .listen('add', (params) => { let temp = params.split(' '); console.log( (parseInt(temp[0]) + parseInt(temp[1])).toString() ); }) .start();
像這樣間能夠簡單地構建一個shell類型應用,上面的代碼運行時會像這樣:git
welcome to my shell program $
當你輸入 'echo hello world':github
welcome to my shell program $ echo hello world hello world
當你輸入 'add 7 9':shell
welcome to my shell program $ add 7 9 16
就像這樣,每當你想要爲你本身的shell應用添加一條指令,只須要添加它的響應便可npm
安裝:小程序
npm install quick-shell
鏈式調用:ui
shell .//... .//... .start();
設置歡迎文字:操作系統
shell .welcome('your welcome text');
設置提示符:
shell .prompt('# ');
自定義錯誤提示:
shell .error({ inputNothing: 'you input nothing', noMatchedInstruction: 'have no matched instruction' });
建立一個指令監聽器:
// 這裏的 params 以 'param param param' 的形式存在 shell .listen('echo', (params) => { console.log(params); });
若是你仍是不知足於現有的功能,你能夠使用內部定義的事件來進行自定義操做:
shell .onStart(() => { // do something on shell start }) .onExit(() => { // do something on shell exit }) .onLine((line) => { // do something when a line inputed }) .onCaught((instruction, params) => { // do something when a instruction was caught });
開始運行程序:
shell .start();