Node.js 與瀏覽器之間的差異

瀏覽器和 Node.js 都使用 JavaScript 作為其程式語言。在瀏覽器中運行應用程序與構建 Node.js 應用程序完全不同。儘管它始終是 JavaScript,但一些關鍵差異使得使用體驗截然不同。

從廣泛使用 JavaScript 的前端開發者的角度來看,Node.js 應用程序帶來了巨大的優勢:在單一語言中編寫前端和後端所有代碼的便利性。

您有一個巨大的機會,因為我們知道完全地、深入地學習一門程式語言是多麼困難,通過在網絡上執行所有工作時使用相同的語言 - 在客戶端和伺服器端,您處於一個獨特的優勢位置。

改變的是生態系統。

在瀏覽器中,大部分時間您所做的是與 DOM 互動,或者與其他 Web 平台 API 互動,如 Cookies。當然,在 Node.js 中不存在這些。您沒有瀏覽器提供的 documentwindow 和其他所有對象。

而且在瀏覽器中,我們沒有 Node.js 通過其模塊提供的所有漂亮的 API,比如文件系統訪問功能。

另一個很大的不同是,在 Node.js 中您控制環境。除非您正在構建任何人都可以在任何地方部署的開源應用程序,否則您知道將在哪個版本的 Node.js 上運行應用程序。與瀏覽器環境相比,在那裡您無法選擇您的訪問者將使用的瀏覽器,這非常方便。

這意味著您可以編寫所有現代的 ES2015+ JavaScript,而您的 Node.js 版本支持。由於 JavaScript 發展如此之快,但瀏覽器卻可能升級較慢,有時您在網絡上使用的是舊版 JavaScript / ECMAScript 發布。您可以使用 Babel 將代碼轉換為 ES5 兼容性,然後將其發送到瀏覽器,但在 Node.js 中,您不需要這樣做。

另一個不同之處是,Node.js 支持 CommonJS 和 ES 模塊系統(自 Node.js v12 起),而在瀏覽器中我們開始看到 ES 模塊標準被實現。

在實際應用中,這意味著您可以在 Node.js 中同時使用 require()import,而在瀏覽器中您僅限於使用 import

閱讀時間
閱讀時間:2 分鐘
貢獻
編輯本頁