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...