skip to main content

NodeJS是甚麼?NodeJS簡介, 謬誤, 和Express的關係

於2021年9月24日更新


要了解NodeJS,最好先了解為何傳統JS只在網頁瀏覽器中使用

傳統我們一講Javascript (JS)就是指在前端,在網頁瀏覽器中運行的JS,通常用來做一些網站特效,前端的介面等等工作的。

我們之所以能夠在網頁瀏覽器中使用Javascript,是因為網頁瀏覽器中包含了處理JS的處理器。例如如果你是使用在Google Chrome來上網的話,Chrome瀏覽器就包含了專門用來處理Javascript的處理器,叫V8 Engine

V8 Engine會將網站上的Javascript轉譯成電腦能讀懂的機械語言(Machine code),讓網頁瀏覽器能根據所寫的JS代碼顯示相應的效果。JS這種只使用在網頁瀏覽器中的情況持續了很多年。

以往如果你想使用Javascript在電腦上做一些例如讀取/寫入檔案的系統層面的工作,基本是不可能的,但是自從NodeJS出現以後情況就不一樣了。

甚麼是NodeJS?

NodeJS是一個伺服器平台。這伺服器平台由C++寫成的。C++這程序語言是有能力做一些系統層面的工作,例如讀取/寫入檔案,或者連接資料庫等。

加上NodeJS本身自帶V8 Engine,記得的話V8 Engine可以將Javascript轉譯成電腦能讀懂的機械語言(Machine code),所以我們現在就可以不僅僅用JS在網頁瀏覽器中,而是用Javascript去做一些系統層面的工作

NodeJS作用

現在NodeJS作用主要用在作為網站伺服器,去處理每個到來的網站訪客請求,去系統層面去讀取一些網頁檔案,或者連結資料庫等。

設定網站伺服器屬於後端的工作,一般前端的網站開發人員未必一定會相關知識,所以以往每逢要建立網站伺服器,解決方法是一是立刻去學會後端/系統層面的相關語言知識,二是找後端/伺服器管理員幫忙

但是NodeJS的出現,讓人可以使用Javascript這種一般前端網站開發人員都會懂的語言去做後端/系統底層面的工作,這樣的話前端網站開發人員就不用再去學後端/系統層面的相關語言知識,或者再要去找別人幫忙了。前端網站開發人員們利用已懂的基礎JS語言就可以自行設定網站伺服器

NodeJS通常不會單獨使用

NodeJS在實作上不會單獨使用,而是通常都會配上Express JS後端框架去使用,為甚麼?

如果你是沒有網站開發背景的話,你可以理解ExpressJS後端框架是寫NodeJS時的一個助手,讓開發人員在寫同一個功能時,少寫很多代碼的一個工具。

有網站開發背景的話,你可以理解Express是類似Jquery的Library,開發同一個功能時,可以幫助你不用每下都寫Plain Javascript這麼多代碼的助手,本身也是MVC Framework

有興趣知道怎樣使用NodeJS和Express的話可以訂閱我的youtube頻道,我將會不久後推出Node + Express的免費課程。

對NodeJS的謬誤

在網上曾見過有人會對NodeJS有以下誤會:

  1. 這文章一開頭我已說過了,傳統的Javascript是僅局限在網頁瀏覽器中運行,所以一些年資較年長的IT人有可能還沒來得及更新知識,所以會以為NodeJS是個新的前端JS library,是用來做網頁中的特效。

  2. 也見過有人拿NodeJS來和後端PHP,Python,Ruby...等後端語言比較誰好誰不好,這是不合適的比較。因為NodeJS主要做的工作為設定網站伺服器,所以應該和其他的網頁伺服器軟件進行比較,例如Apache/Nginx,而不是後端語言。

NodeJS入門教學課程

希望經過這次講解後你會對NodeJS有了基本,正確的理解,感謝你的觀看。

如果你想稍為學習怎樣使用NodeJS作為後端工具的話,你可以去我的Youtube頻道,裏面有一個免費的中文(廣東話)NodeJS入門教學課程,能幫助你快速的掌握NodeJS的基本用法。

梁浩賢作者 : - 全端網站開發工程師,教練
訂閱梁浩賢的文章

其他內容