1. 程式人生 > >NodeJS簡單概述

NodeJS簡單概述

Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

Chrome V8是Google的Chrome中的V8 JavaScript引擎,由於效能良好吸引了相當的注目。它是Google特別為了Chrome可以高速執行網頁應用(WebApp)而開發的。Chrome利用Apple領導的WebKit研發計劃作為渲染引擎(Rendering engine)。 WebKit也被用在Safari瀏覽器中。WebKit的標準配備有稱為JavaScriptCore的JavaScript引擎,但Chrome則以V8取代之。

JavaScript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。

事件驅動模型是滑鼠的一個點選,移動,鍵盤的按鍵按下等等操作,都是對應作業系統的一個事件,然後應用程式接受你的操作進行處理。

Node.js的非阻塞式 I/O 的模型。如果一個請求需要長時間處理,Node.js會把該請求傳送給一個事件迴圈(event loop),然後繼續處理在呼叫堆疊(call stack)中的下一請求。當延後請求處理完畢時,它會告知Node.js同時瀏覽器會做出響應反饋。由於Node.js一個伺服器端框架,所以它主要工作之一是處理瀏覽器請求。在傳統的I/O系統中,每個請求的發出都是在上一請求到達之後才發出的。所以這被稱為阻塞(blocking)I/O。伺服器會阻擋其它的請求以處理當前請求,從而導致瀏覽器等待。