iT邦幫忙

2023 iThome 鐵人賽

DAY 3
1

在實作之前,今天先來簡介一下Node.js和Express.js。

https://ithelp.ithome.com.tw/upload/images/20230918/20136558xgFwxmluAp.jpg

大綱

  1. Node.js 介紹
  2. Express.js 介紹

1.Node.js介紹

Node (或者說Node.js) 是一個開源、跨平台和允許開發者使用Javascript創造伺服器端工具和應用的執行環境。傳統上,JavaScript 主要用於瀏覽器中,用於增強網頁的互動性,但Node.js 能直接執行在電腦或伺服器上。

因為其運行的目的是為了能在瀏覽器外使用,所以該環境捨棄了瀏覽器限定的 JavaScript APIs 並增加更多傳統 OS APIs 的支援,例如:HTTP 和檔案系統的程式庫。

Node.js的特點

  • 非同步的事件驅動和單執行緒

Node.js 使用非同步的事件驅動模型,使其輕量且高效。這意味著它可以非同步地處理大量的高併發(High Concurrency)請求。
傳統的伺服器,如基於 Apache 的伺服器,對於每一個連接通常都會建立一個新的執行緒。當伺服器面對大量的同時連接時,這會導致大量的系統資源被使用。而 Node.js 是單執行緒的,且使用非阻塞的 I/O,這意味著它可以在單一執行緒上處理多個連接,而不需要為每一個連接建立新的執行緒。

  • NPM(Node Package Manager)和豐富的生態系統

NPM 是 Node.js 的套件管理工具,它允許開發者輕鬆地安裝、共享程式碼。
NPM約有十萬個第三方套件,是最佳的依賴解決方案也可以用來自動化大部分建構工具鏈,只需要稍加設定,一個專案便能輕易安裝多個的外部程式。
🔸 當我們在前端專案下了 npm install其實就是在使用node.js安裝套件

  • 跨平台

Node.js 可以在多種作業系統上運行,包括 Windows、Mac OS X 和 Linux。

  • 高效能

許多大型公司(如 Netflix、LinkedIn 和 Walmart)都使用 Node.js,部分原因是其高效能特性。例如,V8 JavaScript 引擎(由 Google 開發且 Node.js 使用的)被優化以快速運行 JavaScript。
🔸 補充:V8 是開源的專案,有興趣的可以參照 Google Git – V8

安裝 Node.js

透過官網下載Node.js
⚠️要注意有些專案和技術的node版本不一定支援最新,所以還是要依需求安裝對應版本。

安裝完成後在終端機下指令,查看node是否有安裝成功:

node -v

有的話就會出現版本號:
https://ithelp.ithome.com.tw/upload/images/20230918/201365586jdauvpFUG.png


2.Express.js介紹

Express 是一個簡潔而靈活的node.js Web應用框架, 提供了一系列強大特性幫助你建立各種Web應用程式,和豐富的HTTP 工具。使用Express 可以快速地搭建一個完整功能的網站。

Express的特點

  • 簡潔性:

Express 提供了最小的框架核心,並通過中介層(middleware)的概念來提供功能。這種設計方式旨在簡化並增強 Web 伺服器的建立。

  • 中介軟體和路由:

https://ithelp.ithome.com.tw/upload/images/20230918/20136558PDkMuGRRUP.png
Express 使用一系列的中介軟體來執行功能。每個中介軟體都有一個特定的任務,例如解析請求體、處理 cookies 或執行路由。另外也提供了一套很有彈性的路由系統,允許你根據 URL 和 HTTP 方法來定義不同的請求處理程序。

  • 範本引擎:

Express 支援多種範本引擎,如 EJS、Pug 和 Mustache。這使得動態生成 HTML 內容變得更加簡單。

  • 整合:

Express 可以輕鬆與其他 Node.js library和中介層整合,如 body-parser (用於解析請求體) 或 mongoose (用於與 MongoDB 連線)。

安裝Express

因為是要在專案上安裝express,所以留到明天再來說明,想要先了解的可以先看這邊
安裝Express

資料來源:

MDN
https://www.geeksforgeeks.org/middleware-in-express-js/
https://expressjs.com/


上一篇
[Day2]MERN介紹(MongoDB、Express.js、React.js、Node.js)
下一篇
[Day4]實作開始-設定後端專案和Express路由
系列文
初探全端之旅: 以MERN技術建立個人部落格31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言