js前面代码出错继续运行_Node.JS实战41:让命令行变的五颜六色
通常情况下,命令行文字都是黑底白色的:
想不想来点改变?
给文字换个颜色;给背景换个颜色。
先来看段代码:
console.log('[31m Hello www.JShaman.com [0m');console.log('[32m Hello www.JShaman.com [0m');console.log('[33m Hello www.JShaman.com [0m');
想想它的运行输出是什么样的?
猜想到是这个效果了吗?想必没有吧。
为什么看似乱码的一段console()执行时会出现彩色的文字呢?
解释是这样的:
The original specification only had 8 colors, and just gave them names. The SGR parameters 30-37 selected the foreground color, while 40-47 selected the background. Quite a few terminals implemented "bold" (SGR code 1) as a brighter color rather than a different font, thus providing 8 additional foreground colors. Usually you could not get these as background colors, though sometimes inverse video (SGR code 7) would allow that. Examples: to get black letters on white background use ESC[30;47m, to get red use ESC[31m, to get bright red use ESC[31;1m. To reset colors to their defaults, use ESC[39;49m (not supported on some terminals), or reset all attributes with ESC[0m.
SGR code
大意是:“”是一个特殊的转意字符,遵从一定的规则,可以用来设置文字或背景颜色。
上面代码中,前面的[31m用于设定SGR颜色,后面的[0m相当于一个封闭标签作为前面SGR颜色的作用范围的结束点标记。
那么,我们就知道文字变色的原因了。可是如何知道哪个具体的转义字符代表是的什么颜色呢?
下面的操作将进行展示,通过node.js的三方库源码找出答案,熟练掌握此方法将会使你将来大受裨益。
继续:
在Node.JS中,还有一些三方模块,可以实现同样的效果,比如:colors。
例程:
require("colors");console.log("jshaman.com".green);console.log("jshaman.com".red);console.log("jshaman.com".yellow);
运行输出效果:
当安装这个模块后,它的源码就被下载到了本地:
打开这个文件,在代码中会看到:
这下就找道相应颜色的转义字符了。这就是所谓的站在“巨人”的肩膀上吧。
更多本系列文章:
Node.JS实战40:压缩和解压文件
Node.JS实战39:Express文件上传一例
Node.JS实战38:将Node.JS代码编译成字节码
Node.JS实战37:全双工的WebSocket
Node.JS实战36:写一个WAF中间件!防黑客,防攻击
Node.JS实战35:给程序留一个“后门”
js前面代码出错继续运行_Node.JS实战41:让命令行变的五颜六色相关推荐
- js复制文本到剪贴板_如何将输出文本从命令行复制到Windows剪贴板
js复制文本到剪贴板 If you're doing work at the command line on your Windows box, it's sometimes useful to co ...
- java swing运行没反应_java – 无法从命令行运行swing
我在 windows中使用命令行来编译然后执行我的 java程序.我已经去了 http://java.sun.com/docs/books/tutorial/uiswing/start/compile ...
- linux使用管道显示某一进程的运行情况,pv - 显示当前在命令行执行的命令的进度信息,管道查看器...
补充说明 pv命令 Pipe Viewer 的简称,由Andrew Wood 开发.意思是通过管道显示数据处理进度的信息.这些信息包括已经耗费的时间,完成的百分比(通过进度条显示),当前的速度,全部传 ...
- java命令行运行 classnotfound_Kotlin测试从ClassNotFoundException的命令行失败,但是从IntelliJ开始工作...
我有一个Kotlin Spring Boot项目here . 它有一些测试,从IntelliJ运行得很好,但是当我从命令行运行时,失败并出现以下错误 . BUILD FAILED in 1m 12s ...
- mac怎么查node版本_Node.js 微服务实践:基于容器的一站式命令行工具链
作者:个推Node.js 开发工程师 之诺 背景与摘要 由于工程数量的快速增长,个推在实践基于 Node.js 的微服务开发的过程中,遇到了如下问题: 1. 每次新建项目都需要安装一次依赖,这些依赖之 ...
- 分享99个JS幻灯片代码,总有一款适合您
分享99个JS幻灯片代码,总有一款适合您 99个JS幻灯片代码下载链接:https://pan.baidu.com/s/1n8UQ41cem0GmgsOXCq9kMw?pwd=m5zf 提取码:m5 ...
- html加js倒计时代码,分享最简单的JavaScript倒计时代码(附完整代码)
工作中经常需要在页面中设置倒计时,那你知道JS倒计时代码怎么写吗?这篇文章就给大家分享一个最简单的JS倒计时代码,以及详细的倒计时JS代码的思路,,有一定的参考价值,感兴趣的朋友可以看看. 举例:设定 ...
- 如何将命令行参数传递给Node.js程序?
我有一个用Node.js编写的Web服务器,我想使用一个特定的文件夹启动. 我不确定如何在JavaScript中访问参数. 我正在像这样运行节点: $ node server.js folder 这是 ...
- 个推Node.js 微服务实践:基于容器的一站式命令行工具链
2019独角兽企业重金招聘Python工程师标准>>> 作者:个推Node.js 开发工程师 之诺 背景与摘要 由于工程数量的快速增长,个推在实践基于 Node.js 的微服务开发的 ...
最新文章
- nio selector
- DTP模型之二:(XA协议之二)jotm分布式事务实现
- java二维对象数组存入文件_关于Java:将2D数组保存到磁盘文件
- Apache HBase的现状和发展
- 实例工厂配置bean
- VBA实战技巧精粹011:新建只有1张工作表的工作簿
- 中修改环境变量_系统小技巧:彻底弄懂Windows 10环境变量
- Spring Boot之发送HTTP请求(RestTemplate详解)
- 电脑开机提示计算机无法启动不了,电脑无法启动并出现“System Halted”如何解决?...
- 小程序公众图标素材+6113个菜单栏素材
- 电脑主板资料库 07【转至www.ongood.com.tw】【FreeXploiT收集整理】
- hadoopsnappy解压_Hadoop安装配置snappy压缩
- 呆萌却实际可怕的动物:蛇鹫会踢腿 大熊猫攻击凶猛
- 网络安全-MS17-010漏洞-永恒之蓝
- 最全MacWin软件分享
- Week-4-作业1
- 【Linux】-初识Linux
- 移芯平台EC616上按键唤醒
- FreeScale mpc8xxx + vxWorks平台下spi flash驱动开发三步走
- centos系统时区设置,美国西五区
热门文章
- Sun x4500作为文件服务器的调优
- 管理Exchange服务器
- ArcGIS Server9.2学习开发(4)——使用Toc控件
- PAT甲级1016 Phone Bills :[C++题解]字符串处理(复杂题)(C语言格式化读入、输出很便利!!!)
- numpy随机生成01矩阵_NumPy数组基本介绍
- linux netlink 编程示例(一)内核端
- 初学者用涩性胶皮好还是粘性_乒乓球胶皮的保养方法
- 模块就是一个普通的python程序文件_Python-模块和包
- MySQL中数据库的操作
- 任务的定义、任务切换的原理及实现