当前位置: 首页 > 后端技术 > Node.js

节点模块--anser

时间:2023-04-04 00:18:10 Node.js

1.资源地址npm地址:https://www.npmjs.com/package/anserGitHub地址:https://github.com/IonicaBizau/anser下面的内容只是这个包的例子简单的了解,如果想了解更多,建议查看官网。另外要知道终端显示的颜色已经固定了,不同颜色的表示可以通过终端控制字符来实现。shell脚本中回显显示内容为彩色Linux终端控制字符转义和编码(u,x)需要说明的是:下面三个是等价的,第一个是八进制;第二个是十六进制;这三个是Unicode-16显示模式\033\x1b\u001b2。anser包的功能包的功能:一个简单的ANSI序列(终端控制字符)转换工具。将ANSI序列转换成HTML元素转换成JSON数据输出3.安装3-1npm安装$npminstallanser--save-dev3-2yarninstallation$yarnaddanser--dev4。常用的方法不多,下面介绍比较常用的三种。4-1ansiToTextansiToText将ANSI转换为字符串输出。constAnser=require("anser");consttxt="\u001b[38;5;196mHello\u001b[39m\u001b[48;5;226mWorld\u001b[49m";//如果这个地方不明白,一定要看上面关于终端控制字符的链接console.log(Anser.ansiToText(txt));//'HelloWorld'4-2ansiToJsonansiToJson将ANSI转成JSON格式作为数据。constAnser=require("anser");consttxt="\u001b[38;5;196mHello";console.log(Anser.ansiToJson(txt));[{内容:'',fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:false,decoration:null,was_processed:false,isEmpty:[Function:isEmpty]},{content:'Hello',fg:'255,0,0',//之前风景、文字颜色bg:null,//背景颜色fg_truecolor:null,bg_truecolor:null,clearLine:false,decoration:null,was_processed:true,isEmpty:[Function:isEmpty]}]可以指定第二个参数:constAnser=require("anser");consttxt="\u001b[38;5;196mHello";console.log(Anser.ansiToJson(txt));[{content:'',fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:false,decoration:null,was_processed:false,isEmpty:[Function:isEmpty]},{content:'Hello',fg:'ansi-palette-196',//来自这里颜色值变成类名bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:false,decoration:null,was_processed:true,isEmpty:[Function:isEmpty]}]4-3ansiToHtmlansiToHtml将ANSI转换为HTMLconstAnser=require("anser");consttxt="\u001b[38;5;196mHello";console.log(Anser.ansiToHtml(txt));Hello可以指定第二个参数,要将颜色值转换为类名:constAnser=require("anser");consttxt="\u001b[38;5;196mHello";console.log(Anser.ansiToHtml(txt,{use_classes:true}));你好5.补充清空控制台,可以使用如下方法:process.stdout.write(process.platform==='win32'?'\x1Bc':'\x1B[2J\x1B[3J\x1B[H')上面的内容也是终端控制字符的使用。