node工具模組

2022-09-09 01:18:08 字數 2860 閱讀 3201

node.js工具模組

node工具模組分為os,path, net, dns, domain模組

位元組順序,稱為端序和尾序,是跨越多位元組程式物件的儲存規則

如果最低有效位在最高位的前面,則為小端序,反過來為大端序

來自於格列佛遊記,中的水煮蛋的大端和小端。

讀取的時候要用,即處理器從記憶體中進行讀取的時候,需要位元組序,是大端序,還是小端序

其中大端序是人類讀寫數值需要的,大的在前,小的在後。

小端序是機器的讀法,正好相反

因為計算機讀取的時候是從低電位進行讀取,計算的時候也是從低位進行計算(人類也是這樣)這樣的效率一般會比較高。

對於單一位元組,處理器以相同順序處理預元(bit),因此單位元組的傳輸和存放是一樣的

對於多位元組,在不同處理器的存放方式有兩種。

大端序小端序

反過來即可

簡化**的異常處理

該模組,將多個處理的模組分為一組,然後進行處理

隱式繫結:把在上下文中定義的變數,自動進行繫結

顯式繫結:把不在上下文定義的變數,通過**進行繫結

需要使用乙個emitter.emit

按照***的註冊順序,同步呼叫

emitter.removealllisteners 移出繫結的***

domain.run 在其域的上下文內,執行提供的函式, 所有的都隱式繫結

domain.remove 移出***

var eventemitter = require('events').eventemitter;

var domain = require('domain'); // 域

var emitter1 = new eventemitter(); // 建立乙個***的類,這是乙個和***有關的類

// 建立域

var domain1 = domain.create();

domain1.on('err', (err) => );

// 顯示繫結

domain1.add(emitter1); // 將監控器的類和域進行繫結

emitter1.on('error', (err) => );

emitter1.emit('error', new error('通過***來處理')); // 觸發error事件,首先執行error的**函式,接著執行new error事件

emitter1.removealllisteners('error'); // 移出***類繫結的所有的事件

emitter1.emit('error', new error('通過正常的 domainl來進行處理')) // 由於上一步已經移出了***,所以通過正常的建立域中的錯誤的處理進行處理

var domain2 = domain.create(); // 建立乙個新的 domain2 的域

domain2.on('error', (err) => );

// 隱式繫結

domain2.run(() => );

domain1.remove(emitter1); // 移出域繫結的錯誤

emitter1.emit('error', new error('由於未進行繫結,程式遇到執行錯誤')); //

ps c:\users\mingm\desktop\test> node main.js

***處理錯誤通過***來處理

events.js:167

throw er; // unhandled 'error' event

^error: 通過正常的 domainl來進行處理

at object.(c:\users\mingm\desktop\test\main.js:24:24)

at module._compile (internal/modules/cjs/loader.js:689:30)

at object.module._extensions..js (internal/modules/cjs/loader.js:700:10)

at module.load (internal/modules/cjs/loader.js:599:32)

at trymoduleload (internal/modules/cjs/loader.js:538:12)

at function.module._load (internal/modules/cjs/loader.js:530:3)

at function.module.runmain (internal/modules/cjs/loader.js:742:12)

at startup (internal/bootstrap/node.js:266:19)

at bootstrapnodejscore (internal/bootstrap/node.js:596:3)

emitted 'error' event at:

at eventemitter.emit (domain.js:455:12)

at object.(c:\users\mingm\desktop\test\main.js:24:10)

at module._compile (internal/modules/cjs/loader.js:689:30)

[... lines matching original stack trace ...]

at bootstrapnodejscore (internal/bootstrap/node.js:596:3)

ps c:\users\mingm\desktop\test>

Node模組型別

在node應用中,並不是所有的模組都是同一類,通常會有核心模組 第三方模組 檔案模組 資料夾模組幾種。核心模組指的是那些被編譯進node的二進位制模組,它們被預置在node中,提供node的基本功能,如fs http https等。核心模組使用c c 實現,外部使用js封裝。要載入核心模組,直接在 ...

Node 模組引入

node 模組引入主要會經歷如下3個步驟 在 node 中,模組分為核心模組和檔案模組。核心模組是 node 提供的模組。其中部分模組在 node 原始碼編譯時直接生成二進位制執行檔案,在 node 程序啟動時被載入到記憶體中,因此當這部分模組引入時,會只直接跳過檔案定位和編譯執行,且在路徑分析中優...

node內建模組

let fs require fs 1.fs.mkdir fs.mkdirsync 建立資料夾,有sync的是同步建立,反之是非同步,想要實現無阻塞i o,一般非同步 fs.mkdir less err 2.fs.readdir fs.readdirsync 讀取檔案目錄中的 let fs requ...