Nodejs核心模組

2021-09-26 09:37:35 字數 2327 閱讀 1453

(1)全域性物件

在瀏覽器js中,通常window是全域性物件,而nodejs中的全域性物件是global,所有全域性變數都是global物件的屬性。

在nodejs中能夠直接訪問到的物件通常都是global的屬性,如console、 process等

全域性物件與全域性變數

global最根本的作用是作為全域性變數的宿主。

全域性變數的條件:

在最外層定義的變數;全域性物件的屬性;隱式定義的變數(未定義直接賦值的變數)

定義乙個全域性變數,同時也是全域性物件的屬性。

永遠使用var定義變數以避免引入全域性變數,因為全域性變數會汙染命名空間,提高**的耦合風險。

process

process是乙個全域性變數,即global物件的屬性。它用於描述nodejs程序狀態的物件,提供乙個與作業系統的簡單介面。

process.ar**是命令列引數陣列,第乙個元素是node, 第二個是指令碼檔名,從第三個開始每個元素是乙個執行引數。

console.log(process.ar**);

process.stdout是標準輸出流。

process.stdin是標準輸入流。

process.nexttick(callback)的功能是為事件迴圈設定一項任務,會在下次事件迴圈調響應時呼叫callback

還有process.platform, process.pid, process.execpath, process.memoryusage()等。posix程序訊號響應機制。

console

用於提供控制台標準輸出。

console.log()

console.error()

console.trace()

(2)常用工具util

util.inherits

實現物件間原型繼承的函式。js物件導向特性是基於原型的。

util.inspect

將任意物件轉換為字串的方法。

util.isarray(), util.isregexp(), util.isdate(), util.iserror(), util.format(), util.debug()等

(3)事件機制events

最重要的模組,因為nodejs本身架構就是事件式的,提供了唯一的介面,堪稱nodejs事件程式設計的基石。

事件發射器

events模組只提供乙個物件events.eventemitter.它核心就是事件發射與事件監控器功能的封裝。

eventemitter.on(event,listener)

eventemitter.emit(event, [arg1], [arg2], …)

eventemitter.once(event, listener)

eventemitter.removelistener(event,listener)

eventemitter.removealllisteners([event])

error事件

遇到異常的時候,通常會發射error事件。

繼承eventemitter

不會直接使用eventemitter, 而是在物件中繼承它。包括fs, net, http在內,只要是支援事件響應的核心模組都是eventemitter的子類。

(4)檔案系統訪問fs

檔案操作的封裝,提供了檔案的讀取、寫入、更名、刪除、遍歷目錄、鏈結等posix檔案系統操作。有非同步和同步兩個版本。

fs.readfile

fs.readfilesync

fs.open

fs.read

(5)http伺服器與客戶端

獲取get請求內容

獲取post請求內容

http客戶端

http.request和http.get, 功能是作為客戶端向http伺服器發起請求。

callback傳遞乙個引數,為http.clientresponse的例項。

http.request返回乙個http.clientrequest的例項。

nodejs核心模組之http

http模組包含以下5個核心類和方法及屬性 核心類 2.http.createserver 該方法返回http.server類的例項,該例項繼承了eventemitter 類。eventemitter 類有乙個特殊的事件error,當連線失敗的時候會自動觸發該error事件,因此在建立http伺服器...

概述nodejs模組系統核心原理

test.js require x 複製 x是node核心模組 如http,zlib等 則返回,否則繼續 根據module物件的paths屬性一直遞迴找node modules資料夾下是否存在該模組,直到根目錄,否則丟擲error module not found x是路徑 如 path to fi...

nodejs模組 http模組

處理url請求 var fs require fs 主頁function home res res.write content res.end about.html 關於頁面 function about res res.write content res.end 匯出頁面處理函式 exports....