- Node.js 是一個(gè)開源和跨平臺(tái)的JavaScript運(yùn)行時(shí)環(huán)境。 它幾乎是任何類型項(xiàng)目的流行工具!
- Node.js 在瀏覽器之外運(yùn)行V8 JavaScript引擎(Google Chrome 的內(nèi)核)。 這使得Node.js的性能非常好。
- Node.js 應(yīng)用程序在單個(gè)進(jìn)程中運(yùn)行,無需為每個(gè)請求創(chuàng)建新的線程。 Node.js 在其標(biāo)準(zhǔn)庫中提供了一組異步的 I/O 原語,以防止 JavaScript 代碼阻塞,通常,Node.js 中的庫是使用非阻塞范式編寫的,使得阻塞行為成為異常而不是常態(tài)。
- 當(dāng) Node.js 執(zhí)行 I/O 操作時(shí)(比如從網(wǎng)絡(luò)讀取、訪問數(shù)據(jù)庫或文件系統(tǒng)),Node.js 將在響應(yīng)返回時(shí)恢復(fù)操作(而不是阻塞線程和浪費(fèi) CPU 周期等待)。這允許 Node.js 使用單個(gè)服務(wù)器處理數(shù)千個(gè)并發(fā)連接,而不會(huì)引入管理線程并發(fā)(這可能是錯(cuò)誤的重要來源)的負(fù)擔(dān)。
- Node.js 具有獨(dú)特的優(yōu)勢,因?yàn)閿?shù)百萬為瀏覽器編寫 JavaScript 的前端開發(fā)者現(xiàn)在無需學(xué)習(xí)完全不同的語言,就可以編寫除客戶端代碼之外的服務(wù)器端代碼。
- 在 Node.js 中,可以毫無問題地使用新的 ECMAScript 標(biāo)準(zhǔn),因?yàn)槟悴槐氐却杏脩舾滤麄兊臑g覽器,你負(fù)責(zé)通過更改 Node.js 版本來決定使用哪個(gè) ECMAScript 版本,你還可以通過運(yùn)行帶有標(biāo)志的 Node.js 來啟用特定的實(shí)驗(yàn)性功能。=