发布自 ,欢迎大家转载,但是要注意注明出处
quick-shell.js简介
一直想自己发布一个npm包试试,正巧刚刚学完操作系统,写了很多shell类型的小程序,就想着要不在nodejs上封装一套用于快速创建简单shell类应用的库,于是quick-shell.js就诞生了
使用quick-shell你可以快速构建一个shell类型的简单应用,非常适合使用js做课设或者一些小demo
安装
该包已经发布在npm上了,可以直接使用npm安装到项目依赖
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类型应用,上面的代码运行时会像这样:
welcome to my shell program$
当你输入 'echo hello world':
welcome to my shell program$ echo hello worldhello world
当你输入 'add 7 9':
welcome to my shell program$ add 7 916
就像这样,每当你想要为你自己的shell应用添加一条指令,只需要添加它的响应即可
API
安装:
npm install quick-shell
链式调用:
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();
参考
- GitHub:
- npm: