Node.js和瀏覽器都使用JavaScript作為它們的編程語言。

在瀏覽器中構建應用程序與構建Node.js應用程序完全不同。

儘管它們都是使用JavaScript,但是它們存在一些關鍵的差異,這使得兩者的開發體驗截然不同。

作為一名前端開發人員,經常使用JavaScript的優勢之一是可以使用同一種語言來編程前端和後端。

這是一個巨大的機會,因為我們知道全面學習一門編程語言有多困難,通過使用同一種語言在網絡上執行所有工作(包括客戶端和服務器端),你處於一個獨特的優勢位置。

不同的是生態系統。

在瀏覽器中,大部分時間你在處理的是與DOM或其他Web平台API的交互,例如Cookie。在Node中,當然沒有這些東西。你沒有瀏覽器提供的documentwindow和其他對象。

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

這意味著你可以使用所有由你使用的Node版本支持的現代ES6-7-8-9 JavaScript。

由於JavaScript發展迅速,但瀏覽器可能有點慢,用戶更新也可能有點慢,有時在Web上,你只能使用舊版的JavaScript / ECMAScript。

在將代碼發送到瀏覽器之前,您可以使用Babel將代碼轉換為ES5兼容的代碼,但在Node中,您不需要這樣做。

另一個差異是Node使用了CommonJS模塊系統,而在瀏覽器中,我們開始看到正在實現的ES模塊標準。

實際上,這意味著在目前我們在Node中使用require(),而在瀏覽器中使用import