Home Node.js 開發
Post
Cancel

Node.js 開發

Node.js 能幹嘛

相信很多人查了 Node.js 的資源要學習時,常常會被搞得暈頭轉向,在 Node.js 的環境下,可以同時進行前端和後端的開發,所以一下是前端開發,一下又是後端開發, 又 Node Package Manager(NPM)…等,各種工具術語滿天飛,實在讓人難消化。

在前端開發中,Node.js 主要用於工具鏈、打包工具和伺服器端渲染,佔比約 30-40%。

事實上,Node.js 在後端開發中的應用更為廣泛,尤其是在 API 伺服器、微服務、即時通訊和高效 I/O 處理上,因此約 60-70% 的應用集中於後端。

因此,這篇介紹一下介紹 Node.JS 在前端與後端開發上的應用,讓你快速釐清這 2 種的差異。

前端開發中的 Node.js 應用

Node.js 主要是通過工具和打包器來輔助前端開發,而不是直接作為前端的執行環境。

常見的用途包括:

a. 開發工具和環境

  1. Webpack: 用於模組打包工具,可以將 JavaScript、CSS 等資源打包成瀏覽器可以載入的靜態資源,優化前端的加載速度。
  2. ESLint: 用於 JavaScript/TypeScript 代碼風格的檢查和校驗工具。
  3. Babel: 用於轉譯現代 JavaScript(例如 ES6+)代碼到瀏覽器能夠理解的較舊版本的 JavaScript。

b. 開發伺服器

  1. Browsersync: 用於同步多個瀏覽器的開發伺服器,實時刷新頁面以查看變更。
  2. Webpack Dev Server: 用於本地開發環境的伺服器,與 Webpack 整合,支持即時打包和頁面刷新。

後端開發中的 Node.js 應用

Node.js 由於其非阻塞式 I/O 和高效的事件驅動模型,非常適合用於構建後端服務。

以下是常見的應用場景:

a. Web 伺服器框架

  1. Express.js: 最受歡迎的 Node.js 後端框架之一,用於構建 Web 應用程式和 API。
  2. Fastify: 更輕量的框架,旨在提高性能並降低延遲。

b. 實時應用

  1. Socket.io: 用於建立 WebSocket 連接,支持實時通訊(例如聊天室、即時通知等)。
  2. WebSockets: 用於創建雙向通訊的協議,適合需要即時交互的應用(例如遊戲、實時數據流等)。

c. API 構建 RESTful API: Express.js 和其他框架常用於構建標準的 REST API。

d. 數據庫管理 Sequelize: 一個基於 ORM(對象關係映射)的工具,用於與 MySQL、PostgreSQL、SQLite 等關聯數據庫進行交互。

e. 身份認證和安全

  1. Passport.js: 提供多種認證策略的身份驗證中介軟體(例如 OAuth、JWT、Local Strategy)。
  2. jsonwebtoken (JWT): 常用於創建和驗證 JSON Web Tokens,實現安全的用戶認證。

f. API Gateway 和微服務 Micro: 用於構建微服務架構的輕量框架。

若你有機會看到這篇,希望你在學習 NodeJS 時可以快速掌握方向。 而不至於被搞混。

☝ツ☝

This post is licensed under CC BY 4.0 by the author.

👈 ツ 👍