ExpressJS 簡介 [+6 學習資源]

已發表: 2023-01-04

ExpressJS 是一個極簡且靈活的 Node.js Web 框架,它為移動和 Web 應用程序提供了一組功能。

這個開源網絡框架由 TJ Holowaychuk 開發。 ExpressJS 由 Node.js 基金會維護。

為什麼選擇 ExpressJS?

ExpressJS 提供簡單的 API 來幫助開發人員構建後端、Web 應用程序和網站。 因此,該 Web 框架可與 Python 的 Django 和 Ruby 的 Rails 相媲美。

快遞

然而,與 Django 和 Rails 不同,它們有一種自以為是的構建 API/應用程序的方式,ExpressJS 非常靈活和可插入,因為它沒有做事的“最佳方式”。

總而言之,這些就是你應該使用 ExpressJS 的原因;

  • 易於創建 API 和 Web 應用程序。
  • 它的 API 非常強大,使路由變得容易
  • 異步和單線程

ExpressJS的特點

#1。 MEAN 堆棧的一部分

JavaScript 仍然是最流行的編程語言之一,因為它具有可在全棧應用程序的前端和後端使用的框架。

一些 Javascript 開發人員使用 MEAN,即 MongoDB、Express、Node.js 的縮寫形式。 js 和 AngularJS 來創建全棧應用程序。 一些開發人員更喜歡 Reactjs 並使用 MERN(MongoDB、Express、Node.js 和 Reactjs)堆棧。 在這兩個選項中,Expressjs 保持不變。

#2。 靈活快速

您不必掌握大型框架的許多不同部分,因為 ExpressJS 被設計為極簡主義。 出色的路由系統、開箱即用的內容協商和中間件的存在使其速度很快。

#3。 可擴展

擴展基於 Express 構建的應用程序很容易,這解釋了為什麼許多組織使用它。 在開發大型應用程序時,Express 幾乎不需要額外的配置。 許多模塊、包和附加資源的存在使得開發大型應用程序變得切實可行。

#4。 中間件的存在

ExpressJS 有一系列中間件應用程序來加速和增強開發過程。 中間件使框架可以輕鬆地在客戶端請求之前或之後運行典型腳本。 中間件的存在使開發人員可以輕鬆檢查客戶端操作,例如註冊/登錄和註銷。

#5。 強大的路由系統

ExpressJS 的路由系統允許開發人員創建強大的 API 來處理幾乎所有的 HTTP 請求。 您不必以臃腫的路由系統告終,因為您可以使用路由器實例將代碼拆分為可管理的文件。 您還可以將不同的路由分組到一個目錄/文件夾中,以更好地管理您的應用程序。

ExpressJS 的架構

ExpressJS-1 架構
圖片來源:turing.com

Express 應用程序將包含以下組件;

  • 依賴項。 ExpressJS 本身是一個依賴項。 您可以使用 npm 命令安裝其他依賴項。
  • 中間件。 ExpressJS 設置中的中間件是確定請求/響應週期的函數。
  • 實例化。 這些只是用於創建對象的語句。
  • 配置。 配置是在實例化之後或在單獨的文件中定義的基於應用程序的自定義設置
  • 路線。 路由是客戶端用來訪問各種資源或執行服務器定義的某些操作的端點。
  • 引導服務器。 執行app.listen()函數以啟動開發服務器。

入門:ExpressJS

ExpressJS 在 Node.js 上運行,這意味著您需要在您的 PC 上安裝它。

您還需要節點包管理器 (npm) 來管理開發環境中的所有依賴項。

您可以根據您的操作系統通過其官方網站安裝 Node。

完成後,運行這兩個命令以確保分別安裝了 node 和 npm。

 node --version
 npm --version

安裝 ExpressJS

按著這些次序

  • 創建一個簡單的 ExpressJS 應用程序。 您可以手動創建它或使用這些命令
mkdir myapp
 cd myapp
  • 使用此命令創建一個 package.json 文件
npm init
  • 根據提供的提示接受命令。 但是,改變; 入口點:(index.js) 到 app.js
  • 使用此命令安裝 ExpressJS
 npm install express
  • 顯示“Hello World”

在根目錄中,創建一個文件並將其命名為 app.js

添加此代碼

const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })

運行此命令以啟動本地服務器

node app.js

在你的瀏覽器上訪問 http://localhost:3000/,你會發現這個輸出

快速應用程序生成器

我們上面手動創建的應用程序非常基礎。 但是,您可以使用 Express 生成器來避免手動創建 ExpressJS 應用程序。

  • 這是生成 ExpressJS 應用程序的命令。
 npx express-generator
  • 如果您使用的是早於 8.2.0 的 node.js 版本,您可以安裝應用程序生成器並使用這些命令啟動它;
 npm install -g express-generator
 express
  • 創建您的應用
express --view=pug myapp

上面的命令將生成一個名為“myapp”的應用程序

  • 使用這些命令安裝所有需要的依賴項
cd myapp npm install
  • 根據您的操作系統運行開發服務器

在 Windows PowerShell 上;

 PS> $env:DEBUG='myapp:*'; npm start

在 Windows 命令提示符下;

 > set DEBUG=myapp:* & npm start

在 macOS 或 Linux 上;

 DEBUG=myapp:* npm start

在瀏覽器中訪問 http://localhost:3000/ ,將顯示以下內容

發電機

您可以使用 ExpressJS 開發的工具/應用程序

#1。 金融科技應用

銀行和金融機構正在走向數字化,提高了對金融科技應用程序的需求。 此類應用程序用於支持/啟用金融和銀行服務。 ExpressJS 已被證明是用於創建可擴展的金融科技應用程序的強大框架。

#2。 單一應用程序

單個應用程序,其中整個應用程序都在單個頁面上路由,已成為現代應用程序開發方式。 Airbnb、Netflix、Pinterest、Paypal、Gmail 和谷歌地圖等大型移動和網絡應用程序是單一應用程序應用程序的完美示例。 ExpressJS 是創建具有簡單路由的單應用程序應用程序的完美框架。

#3。 流媒體應用

Spotify 和 Netflix 等應用程序對最終用戶來說可能看起來很簡單。 但是,此類應用程序很複雜,具有多層數據。 ExpressJS 是創建此類應用程序的絕佳選擇,因為它可以有效地處理異步數據流。

#4。 實時協作工具

現代工作環境由團隊組成,這些團隊為了共同的目標協作執行不同的任務。 ExpressJS 具有支持協作工具開發的各種功能。 此框架在創建儀表板和實時應用程序聊天時也很有用,因為它很容易與 WebSocket 集成。

優勢:ExpressJS

  • 免費和開源。 您無需支付任何費用即可使用 ExpressJS。 您還可以修改現有代碼以滿足您的需要。
  • 易於使用。 ExpressJS 允許您編寫代碼而無需遵循複雜的過程。 該框架已經擁有大量工具和功能來簡化流程。
  • 飛速發展。 ExpressJS 有許多模板來確保您不會從頭開始創建所有內容。
  • 很棒的表現。 在 ExpressJS 上創建的應用程序表現出色,因此您可以在小型和企業應用程序上使用它。

缺點:ExpressJS

  • 一些錯誤消息沒有幫助。 與其他後端/API 開發框架不同,ExpressJS 中的 404 響應不一定表示錯誤。
  • 不太擅長代碼組織,因為沒有最好的做事方式。

學習資源:ExpressJS

#1。 Node.js、Express、MongoDB 等

1個

如果您想從一個資源中學習整個後端堆棧,那麼本課程是理想的選擇。 在課程結束時,您可以使用 ExpressJS 和其他相關技術創建快速且可擴展的 RESTful API。

#2。 只是表達

2個

如果您想將該 Express 服務器作為 REST API 進行操作,則應遵循此課程。 本課程還教授 HTTP 基礎知識,並使理解請求/響應週期變得容易。

#3。 React、NodeJS、Express 和 MongoDB

3個

如果您想學習如何創建 JavaScript 全棧應用程序,那麼此 MERN 全棧課程是您的理想之選。 您將學到的一些東西是如何將 ReactJS 與 NodeJS、Express 和 MongoDB 連接起來,如何實現身份驗證和授權等等。

#4。 Express in Action:編寫、構建和測試 Node.js 應用程序

Express in Action 是一本詳細介紹使用 Node 和 ExpressJS 創建 Web 應用程序的步驟的書。 您將學習如何設置 ExpressJS 應用程序、使用 MongoDB 進行數據存儲以及如何測試 Express 應用程序等。

預習產品評分價格
Express in Action:編寫、構建和測試 Node.js 應用程序 Express in Action:編寫、構建和測試 Node.js 應用程序 39.99 美元

#5。 Express.js:Node.js Web 框架指南

Express.js:Node.js Web 框架指南手冊深入探討了 ExpressJS Web 框架。 本書中的討論基於 ExpressJS 為用戶提供的各種模型。

預習產品評分價格
Express.js:Node.js Web 框架指南 Express.js:Node.js Web 框架指南 8.38 美元

#6。 ExpressJS 官方文檔

ExpressJS 是一個文檔完善的 node.js 框架,您可以在官方文檔上學習入門所需的一切。 無論您是初學者還是高級開發人員,都可以使用此資源。

包起來

ExpressJS 是現代世界最著名的 Node.js Web 框架之一。 各種強大的功能及其簡單的學習曲線使它多年來一直保持著這一地位。 ExpressJS 是 Node.js 的基礎,這意味著理解它可以很容易地掌握其他相關框架。