博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quick-shell.js
阅读量:6230 次
发布时间:2019-06-21

本文共 1649 字,大约阅读时间需要 5 分钟。

发布自 ,欢迎大家转载,但是要注意注明出处

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:
你可能感兴趣的文章
codeforces703D Mishka and Interesting sum(区间偶数异或)
查看>>
linphone-android 编译
查看>>
项目分布式
查看>>
股票数据调用示例代码php
查看>>
共享文件
查看>>
zabbix监控windows主机网卡流量
查看>>
Hadoop基础-MapReduce的Join操作
查看>>
amCharts图表组件
查看>>
Lock
查看>>
SpringCloud分布式系统的演进.
查看>>
使用java反射机制获取javabean中的私有属性
查看>>
react-native 基础知识的学习
查看>>
poj 2440 DNA (mid)
查看>>
接口一一默认方法
查看>>
16.4 Connect your app to Google
查看>>
单片机C语言基础编程源码六则2
查看>>
圆角button
查看>>
2017-2018-1 20155203 实验三 实时系统
查看>>
架构师速成7-高中 分类: 架构师速成 2015-0...
查看>>
内建函数之:reduce()使用
查看>>