
- Taipei, Taiwan
-
Node.js | Util(常用工具)
簡介 該 util 模組主要旨在滿足 Node.js 自己內部 API 的需求。但是,許多實用程序對應用程序和模組開發人員也很有用。 可以使用以下指令訪問它: 1 const util = require ( 'util' ); 註:...
-
Node.js | Global Object(全局對象)
簡介 JavaScript 中有一個特殊的對象,稱為全局對象 Global Object ,它及其所有屬性都可以在程序的任何地方訪問,即全局變量。 在瀏覽器 JavaScript 中,通常 window 是全局對象,而 Node.js 中的全局對像是 global ,所有全局變量(除了...
-
Node.js | Router(路由)
簡介 我們要為路由提供請求的 URL 和其他需要的 GET 及 POST 參數,隨後路由需要根據這些資料來執行相應的程式。 因此,我們需要查看 HTTP 請求,從中提取出請求的 URL 以及 GET/POST 參數。這一功能應當屬於路由還是伺服器(甚至作為一個模組自身的功能)確實值得探討...
-
Node.js | Function(函數)
簡介 在 JavaScript 中,一個函數可以作為另一個函數的參數。我們可以先定義一個函數,然後傳遞,也可以在傳遞參數的地方直接定義函數。 Node.js 中函數的使用與 Javascript 類似,舉例來說,你可以這樣做: 1 2 3 4 5 6 ...
-
Node.js | Module System(模組系統)
簡介 為了讓 Node.js 的文件可以相互調用, Node.js 提供了一個簡單的模組系統。 模組是 Node.js 應用程序的基本組成部分,文件和模組是一一對應的。換言之,一個 Node.js 文件就是一個模組,這個文件可能是 JavaScript 程式、 JSON 或者編譯過的 C...
-
Node.js | Stream(流)
簡介 Stream 是一個抽象接口, Node 中有很多對象實現了這個接口。 例如:對 http 伺服器發起請求的 request 對象就是一個 Stream ,還有 stdout (標準輸出)。 Node.js Stream 有四種流類型: Readable :可讀操作...
-
Node.js | Buffer(緩衝區)
簡介 JavaScript 語言自身只有字符串資料類型,沒有二進制資料類型。 但在處理像 TCP 流或文件流時,必須使用到二進制資料。因此在 Node.js 中,定義了一個 Buffer 類,該類用來建立一個專門存放二進制資料的緩存區。 在 Node.js 中, Buffer 類是...
-
Node.js | EventEmitter(事件發射器)
EventEmitter 簡介 Node.js 所有的異步 I/O 操作在完成時都會發送一個事件到事件隊列。 Node.js 裡面的許多對像都會分發事件:一個 net.Server 對象會在每次有新連接時觸發一個事件,一個 fs.readStream 對象會在文件被打開的時候觸發一個...
-
Node.js | 深入理解事件循環機制(Node.js篇)
什麼是事件循環 首先我們需要了解一下最基礎的一些東西,比如這個事件循環,事件循環是指 Node.js 執行非阻塞 I/O 操作,儘管 JavaScript 是單線程的,但由於大多數內核都是多線程的, Node.js 會盡可能將操作裝載到系統內核。因此它們可以處理在後台執行的多個操作。當其中一...
-
Node.js | 深入理解事件循環機制(瀏覽器篇)
問題: 單線程如何做到異步? 事件循環的過程是怎樣的? macrotask 和 microtask 是什麼,它們有何區別? 單線程和異步 提到 js ,就會想到單線程、異步,那麼單線程是如何做到異步的呢? 概念先行,先要了解下單線程和異步之間的關係。 js ...