在前一版文章中,本來想把所有我覺得很好用的 npm 套件都歸納在裡面,但隨著我越用越多、越用越多、越用越多...我決定!把文章撤下來拆開來寫!
好了,所以什麼是 Node.js?坦白來說,你沒有它,在網頁開發上雖然不至於寸步難行,但會不方便很多。
Node.js 是一個 JavaScript 的執行環境,讓 JavaScript 可以跳脫瀏覽器而在電腦上執行,達到構建前、後端的應用。許多有名的網站 / 程式:Netflix, PayPal...等都有利用 Node.js 的服務。
而大家耳熟能詳的 npm 全名是 Node Package Manager,也就是 Node.js 的套件管理工具,所以我們可以透過 npm 使用一大堆很好用的第三方套件。
nvm、npm,一字之差就差到天涯海角。nvm 是 Node Version Manager 的簡稱,看名字就知道它在管理 Node.js 的版本。
Windows 系統的 nvm 可以到這裡找到最新版本的 "nvm-setup.zip"。注意安裝路徑下不能出現中文或空白,不然可能會出錯。
安裝完打開終端機,按照下列步驟做:
// 確定 nvm 是否正確安裝
nvm version
// 查看nvm上有哪些版本的 Node.js 可以安裝
nvm list available
// 安裝你要的 Node.js 版本
nvm install 14.16.0
// 如果你有其他版本的 Node.js,想用其他版本的,輸入:
nvm use 14.16.0
// 查看 Node.js 是否正確安裝
node -v
現在打開終端機,輸入 "node",恭喜你,在終端機獲得執行 JavaScript 的環境了!如果要離開,輸入 ".exit" 或按兩次 "ctrl + c" 就可以囉!
如果是要執行 JavaScript 檔案呢?你可以這樣做:
node index.js
現在來嘗試用 Node.js 來建立一個可以與瀏覽器互動的本端伺服器吧!
我們會有六個步驟需要執行:
// 載入 HTTP 模組
const http = require('http')
// 定義和伺服器有關的變數
const hostname = 'localhost'
const port = 3000
// 設定回應的 HTTP 狀態碼、內容類型,並把回應的訊息傳送給瀏覽器
const server = http.createServer((req, res) => {
// 設定回應的 HTTP 狀態碼
res.statusCode = 200
// 設定回應的內容類型
res.setHeader('Content-Type', 'text/plain')
// 把回應傳送給瀏覽器
res.end('This is my first server created in Node.js')
})
// 啟動並監聽伺服器
server.listen(port, hostname, () => {
console.log(`The server is listening on http://${hostname}:${port}`)
})
現在打開終端機,執行你的 JavaScript 檔案,你如果看到這個結果就是成功囉!
然後你會發現,每次你更新程式碼,都會需要先 "ctrl + c" 停掉伺服器然後重新進入一次才會畫面更新,聽起來就超麻煩對吧?沒關係,之後我會介紹厲害的 Nodemon 來解決這件事。
而且你也發現,用 Node.js 建立伺服器感覺也挺複雜的齁,Express.js 會告訴你什麼叫做快速建立伺服器!