javascript
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()執(zhí)行時會出現(xiàn)彩色的文字呢?
解釋是這樣的:
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
大意是:“”是一個特殊的轉(zhuǎn)意字符,遵從一定的規(guī)則,可以用來設(shè)置文字或背景顏色。
上面代碼中,前面的[31m用于設(shè)定SGR顏色,后面的[0m相當于一個封閉標簽作為前面SGR顏色的作用范圍的結(jié)束點標記。
那么,我們就知道文字變色的原因了??墒侨绾沃滥膫€具體的轉(zhuǎn)義字符代表是的什么顏色呢?
下面的操作將進行展示,通過node.js的三方庫源碼找出答案,熟練掌握此方法將會使你將來大受裨益。
繼續(xù):
在Node.JS中,還有一些三方模塊,可以實現(xiàn)同樣的效果,比如:colors。
例程:
require("colors");console.log("jshaman.com".green);console.log("jshaman.com".red);console.log("jshaman.com".yellow);運行輸出效果:
當安裝這個模塊后,它的源碼就被下載到了本地:
打開這個文件,在代碼中會看到:
這下就找道相應(yīng)顏色的轉(zhuǎn)義字符了。這就是所謂的站在“巨人”的肩膀上吧。
更多本系列文章:
Node.JS實戰(zhàn)40:壓縮和解壓文件
Node.JS實戰(zhàn)39:Express文件上傳一例
Node.JS實戰(zhàn)38:將Node.JS代碼編譯成字節(jié)碼
Node.JS實戰(zhàn)37:全雙工的WebSocket
Node.JS實戰(zhàn)36:寫一個WAF中間件!防黑客,防攻擊
Node.JS實戰(zhàn)35:給程序留一個“后門”
總結(jié)
以上是生活随笔為你收集整理的js前面代码出错继续运行_Node.JS实战41:让命令行变的五颜六色的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python双引号报错_Python中s
- 下一篇: 山东财经大学python试卷_山东财经大