這篇文章主要講解了如何使用Node.js API中的console模塊,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供周寧企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站制作、做網(wǎng)站、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為周寧眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
console模塊簡(jiǎn)介
說(shuō)明:
console 模塊提供了一個(gè)簡(jiǎn)單的調(diào)試控制臺(tái),類(lèi)似于 Web 瀏覽器提供的 JavaScript 控制臺(tái)。
console 模塊導(dǎo)出了兩個(gè)特定的組件:
一個(gè) Console 類(lèi),包含 console.log() 、 console.error() 和 console.warn() 等方法,可以被用于寫(xiě)入到任何 Node.js 流。
一個(gè)全局的 console 實(shí)例,可被用于寫(xiě)入到 process.stdout 和 process.stderr。
全局的 console 使用時(shí)無(wú)需調(diào)用 require('console')。
demo:
const fs = require('fs'); /* 全局console */ console.log('你好世界'); // 輸出: 你好世界 console.log('你好%s', '世界'); // 輸出: 你好世界 console.error(new Error('錯(cuò)誤信息')); // Error: 錯(cuò)誤信息 // at Object. (/Users/xiaoqiang/Documents/work/demo/NodeApi/app.js:7:15) // at Module._compile (module.js:569:30) // at Object.Module._extensions..js (module.js:580:10) // at Module.load (module.js:503:32) // at tryModuleLoad (module.js:466:12) // at Function.Module._load (module.js:458:3) // at Function.Module.runMain (module.js:605:10) // at startup (bootstrap_node.js:158:16) // at bootstrap_node.js:575:3 const name = '描述'; console.warn(`警告:${name}`); //警告:描述 /* 全局console */ const out = fs.createWriteStream('./stdout.log'); const err = fs.createWriteStream('./stderr.log'); const myConsole = new console.Console(out, err); myConsole.log('你好世界'); // 打印: '你好世界'到 stdout.log myConsole.log('你好%s', '世界'); // 打印: '你好世界'到 stdout.log myConsole.error(new Error('錯(cuò)誤信息')); // 打印: [Error: 錯(cuò)誤信息]到 stderr.log const name = '描述'; myConsole.warn(`警告${name}`); //打印: '警告描述' 到 stderr.log
說(shuō)明:
Console 類(lèi)可用于創(chuàng)建一個(gè)具有可配置的輸出流的簡(jiǎn)單記錄器,
可以通過(guò)require('console').Console
或console.Console
使用
demo:
const { Console } = require('console'); const { Console } = console;
說(shuō)明:
通過(guò)傳入一個(gè)或兩個(gè)可寫(xiě)流實(shí)例,創(chuàng)建一個(gè)新的 Console 對(duì)象
stdout:一個(gè)可寫(xiě)流,用于打印日志或輸出信息。
stderr: 用于輸出警告或錯(cuò)誤。
如果沒(méi)有傳入 stderr ,則警告或錯(cuò)誤輸出會(huì)被發(fā)送到 stdout
全局的 console 是一個(gè)特殊的 Console 實(shí)例,
它的輸出會(huì)發(fā)送到 process.stdout 和 process.stderr
demo:
const { Console } = require('console'); const fs = require('fs'); const output = fs.createWriteStream('./stdout.log'); const errorOutput = fs.createWriteStream('./stderr.log'); const logger = new Console(output, errorOutput); // 像 console 一樣使用 logger.log('name: %s', 'xiaoqiang'); //stdout.log 中打印: name: xiaoqiang
說(shuō)明:
一個(gè)簡(jiǎn)單的斷言測(cè)試,驗(yàn)證 value 是否為真。
value:斷言條件,如果不為真,則拋出 AssertionError
message:如果提供了 message,則使用 util.format() 格式化并作為錯(cuò)誤信息使用。
區(qū)別于瀏覽器的console.assert(),Node中的assert()如果斷言非真的話會(huì)拋出異常終止程序。
demo:
const output = fs.createWriteStream('./stdout.log'); const errorOutput = fs.createWriteStream('./stderr.log'); const logger = new Console(output, errorOutput); logger.assert(false, 'Whoops %s', 'didn\'t work') // AssertionError [ERR_ASSERTION]: Whoops didn't work
說(shuō)明:
當(dāng) stdout 是一個(gè) TTY 時(shí),調(diào)用 console.clear() 將嘗試清除 TTY。
當(dāng) stdout 不是一個(gè)TTY時(shí),該方法什么都不做。
說(shuō)明:
維護(hù)一個(gè)指定名稱(chēng)的內(nèi)部計(jì)數(shù)器, 并且輸出該名稱(chēng)調(diào)用 console.count() 的次數(shù)。
label:計(jì)數(shù)器名稱(chēng)
demo:
> console.count() default: 1 undefined > console.count('default') default: 2 undefined > console.count('abc') abc: 1 undefined > console.count('xyz') xyz: 1 undefined > console.count('abc') abc: 2 undefined > console.count() default: 3 undefined
說(shuō)明:
重置指定 label 的內(nèi)部計(jì)數(shù)器。
label:計(jì)數(shù)器的名稱(chēng), 默認(rèn)為 'default'。
demo:
> console.count('abc'); abc: 1 undefined > console.countReset('abc'); undefined > console.count('abc'); abc: 1 undefined >
說(shuō)明:
在 obj 上使用 util.inspect() 并打印結(jié)果字符串到 stdout,
util.inspect() 方法返回 object 的字符串表示,主要用于調(diào)試。
showHidden:如果為 true,則該對(duì)象中的不可枚舉屬性和 symbol 屬性也會(huì)顯示。默認(rèn)為 false。
depth: 告訴 util.inspect() 函數(shù)當(dāng)格式化對(duì)象時(shí)要遞歸多少次。 默認(rèn)為 2。 設(shè)為 null 可無(wú)限遞歸。
colors: 如果為 true,則輸出會(huì)帶有 ANSI 顏色代碼。 默認(rèn)為 false。 顏色是可定制的,
demo:
console.dir(console) // Console { // log: [Function: bound consoleCall], // info: [Function: bound consoleCall], // warn: [Function: bound consoleCall], // error: [Function: bound consoleCall], // dir: [Function: bound consoleCall], // time: [Function: bound consoleCall], // timeEnd: [Function: bound consoleCall], // trace: [Function: bound consoleCall], // assert: [Function: bound consoleCall], // Console: [Function: Console], // debug: [Function: debug], // dirxml: [Function: dirxml], // table: [Function: table], // group: [Function: group], // groupCollapsed: [Function: groupCollapsed], // groupEnd: [Function: groupEnd], // clear: [Function: clear], // count: [Function: count], // markTimeline: [Function: markTimeline], // profile: [Function: profile], // profileEnd: [Function: profileEnd], // timeline: [Function: timeline], // timelineEnd: [Function: timelineEnd], // timeStamp: [Function: timeStamp] }
說(shuō)明:
打印到 stderr,并帶上換行符。 可以傳入多個(gè)參數(shù)。
demo:
console.error('error: %d', 0x100008); //error: 1048584
說(shuō)明:
將后續(xù)行的縮進(jìn)增加兩個(gè)空格。
demo:
說(shuō)明:
console.group()的一個(gè)別名.
說(shuō)明:
將后續(xù)行的縮進(jìn)減少兩個(gè)空格。與console.group()搭配使用。
說(shuō)明:
console.info() 函數(shù)是 console.log() 的一個(gè)別名。
demo:
console.info('name: %s', 'xiaoqiang');s //name: xiaoqiang
說(shuō)明:
打印到 stdout,并帶上換行符。
demo:
console.log('name: %s', 'xiaoqiang'); //name: xiaoqiang console.log('name:', 'xiaoqiang'); //name: xiaoqiang
說(shuō)明:
啟動(dòng)一個(gè)定時(shí)器,用以計(jì)算一個(gè)操作的持續(xù)時(shí)間。
定時(shí)器有一個(gè)唯一的 label 標(biāo)識(shí)。
當(dāng)調(diào)用 console.timeEnd() 時(shí),可以使用相同的 label 來(lái)停止定時(shí)器,
并以毫秒為單位將持續(xù)時(shí)間輸出到 stdout。 定時(shí)器持續(xù)時(shí)間精確到亞毫秒。
demo:
console.time('run time'); for (var i = 100000; i >= 0; i--) {} console.timeEnd('run time'); //run time: 0.718ms
說(shuō)明:
停止之前通過(guò)調(diào)用 console.time() 啟動(dòng)的定時(shí)器,并打印結(jié)果到 stdout
說(shuō)明:
打印字符串 'Trace :' 到 stderr ,并通過(guò) util.format() 格式化消息堆棧打印代碼蹤跡。
用以跟蹤代碼的當(dāng)前位置。
demo:
console.trace('run time Error'); // Trace: run time Error // at Object. (/Users/xiaoqiang/Documents/work/demo/NodeApi/app.js:5:9) // at Module._compile (module.js:569:30) // at Object.Module._extensions..js (module.js:580:10) // at Module.load (module.js:503:32) // at tryModuleLoad (module.js:466:12) // at Function.Module._load (module.js:458:3) // at Function.Module.runMain (module.js:605:10) // at startup (bootstrap_node.js:158:16) // at bootstrap_node.js:575:3
說(shuō)明:
console.warn()
函數(shù)是console.error()
的一個(gè)別名。
看完上述內(nèi)容,是不是對(duì)如何使用Node.js API中的console模塊有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享文章:如何使用Node.jsAPI中的console模塊
文章來(lái)源:http://muchs.cn/article12/pdpodc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)