這個週末我決定複習一下關於 JavaScript 和 Node.js 的知識。那是因為我在測試 GitHub 提要中出現的專案時偶然發現了這個定義。
我還計劃更深入地研究一些主題,例如事件循環和 Promise,所以評論會很棒。
這是我的筆記。
它是一個允許JavaScript在伺服器端執行的環境(執行階段)。有了它,您可以創建在瀏覽器外部運行的應用程式(後端、行動裝置、桌面應用程式...)。
只是提醒您,JavaScript 是一種解釋型多範式程式語言,旨在為網頁添加互動性,也就是說,它的開發目的是為了在瀏覽器中使用。
現在還有其他 JavaScript 執行環境,例如 Deno 或 Bun,但 Node 是先驅,於 2009 年推出。
僅使用一種程式語言開發應用程式的前端和後端的可能性非常棒。這種能力是 JavaScript 的巨大優勢之一,儘管一些專業人士質疑它在伺服器端的使用。
思考 Java 的座右銘“一次寫,隨處運行”,我們有自己的座右銘:學習一次,創造一切。
Node基於Google Chrome的V8引擎,它在瀏覽器中讀取並執行JavaScript程式碼。一個重要的特性是 JavaScript 引擎獨立於它運行的瀏覽器,這允許創建 Node 和其他環境。
還有其他 JavaScript 引擎:
JavaScript 被認為是一種解釋型語言,但引擎具有即時 (JIT) 編譯步驟,使其成為一種解釋型和編譯型語言。
要注意的是,Node 無法存取 DOM、視窗等操作 API。除了這些之外,它還有自己的標準庫,可讓您存取檔案系統、偵聽 HTTP 請求、產生 UUID、發出事件和許多其他功能。
// ❌ const element = document.getElementById('js-in-server') console.log(element.textContent) // ✅ import fs from 'fs' fs.readFile('js-is-really-cool.md', 'utf-8', (err, content) => { console.log(content) })
Node 配備了 NPM 套件管理器(Node Package Manager),用於組織、安裝和解決專案相依性。 NPM 也是預設的套件註冊器,它是庫和框架註冊以供以後使用的地方。
澄清一下,有 NPM 套件管理工具和這些套件的註冊器,也稱為 NPM。更多關於這裡。
該工具的替代品是yarn 和pnpm。 Bun 環境還有一個與 Node 相容的套件管理器,旨在成為我之前提到的選項中最快的替代品。
說到註冊器,最近出現了一種現代替代方案,聲稱是為 Typescript 和 ESM、JSR 設計的。
我記得一些非常酷的「新」功能被加入到 Node 中:
現在就是這樣,我打算更新這篇評論以涵蓋事件循環是什麼及其重要性。
一個有趣的事實是,我使用 Node 開發了我的第一個 HTTP 伺服器,正是透過它,我發現我喜歡後端。
感謝您的閱讀!
以上是回顧 Node.js的詳細內容。更多資訊請關注PHP中文網其他相關文章!