1. 程式人生 > 其它 >Node.js 與瀏覽器的區別

Node.js 與瀏覽器的區別

瀏覽器和 Node.js 均使用 JavaScript 作為其程式語言。

構建運行於瀏覽器中的應用程式與構建 Node.js 應用程式完全不同。

儘管都是 JavaScript,但一些關鍵的差異使體驗相當不同。

從廣泛使用 JavaScript 的前端開發者的角度來看,Node.js 應用程式具有巨大的優勢:使用單一語言輕鬆程式設計所有一切(前端和後端)。

你會擁有巨大的機會,因為全面、深入地學習一門程式語言並通過使用同一語言完成 web(無論是在客戶端還是在伺服器)上的所有工作是非常困難的,你會處於獨特的優勢地位。

不同的還有生態系統。

在瀏覽器中,大多數時候做的是與 DOM 或其​​他 Web 平臺 API(例如 Cookies)進行互動。 當然,那些在 Node.js 中是不存在的。 沒有瀏覽器提供的document

window、以及所有其他的物件。

而且在瀏覽器中,不存在 Node.js 通過其模組提供的所有不錯的 API,例如檔案系統訪問功能。

另一個很大的不同是,在 Node.js 中,可以控制執行環境。 除非構建的是任何人都可以在任何地方部署的開源應用程式,否則你能知道會在哪個版本的 Node.js 上執行該應用程式。 與瀏覽器環境(你無法選擇訪客會使用的瀏覽器)相比起來,這非常方便。

這意味著可以編寫 Node.js 版本支援的所有現代的 ES6-7-8-9 JavaScript。

由於 JavaScript 發展的速度非常快,但是瀏覽器發展得慢一些,並且使用者的升級速度也慢一些,因此有時在 web 上,不得不使用較舊的 JavaScript / ECMAScript 版本。

可以使用 Babel 將程式碼轉換為與 ES5 相容的程式碼,再交付給瀏覽器,但是在 Node.js 中,則不需要這樣做。

另一個區別是 Node.js 使用 CommonJS 模組系統,而在瀏覽器中,則還正在實現 ES 模組標準。

在實踐中,這意味著在 Node.js 中使用require(),而在瀏覽器中則使用import