NPM 套件總覽
NPM 套件探索總覽 這裡記錄了我學習與研究過的各種實用 NPM 套件。我會將套件的用法、踩坑紀錄以及實際應用情境整理成技術筆記,方便日後在不同的專案中快速查閱與重用。 學習套件清單 | 套件名稱 | 說明與用途 | 查看筆記 | | : | : | : | | bcrypt | 密碼雜湊與驗證 |...
bcrypt 密碼雜湊
bcrypt 密碼雜湊與驗證 在處理使用者註冊與登入時,將密碼明碼儲存在資料庫是非常危險的行為。因此,我們會使用 bcrypt 這樣強大的加密函式庫來將密碼進行「雜湊 Hash」。 💡 核心概念 單向加密:設計上無法從 hash 後的字串反推還原出原始密碼,就算資料庫外洩,駭客也無法輕易得知使用者...
JSON Web Token
JSON Web Token JWT jsonwebtoken 是一個廣泛使用的 npm 套件,用來實作 JSON Web Token JWT。在網頁應用程式中,我們經常使用它來處理使用者登入的驗證(Authentication)以及授權(Authorization)機制。 💡 核心概念 簽發 S...
dotenv (環境變數)
dotenv 環境變數管理套件 💡 為什麼需要這個套件? 在 Node.js 開發中,我們經常會有一些機密資訊(如資料庫連線字串、API 金鑰等)或是環境依賴的設定(如 PORT 號、上傳路徑 UPLOADDIR)。我們絕對不能將這些資訊寫死在程式碼 Hardcode 裡面,否則推送到 GitHu...
uuid (唯一識別碼)
uuid 產生通用唯一識別碼 💡 為什麼需要這個套件? 在開發系統時,我們經常需要為資料庫的每筆紀錄、上傳的檔案或 Session 產生一個「絕對不重複」的 ID。uuid 套件可以幫我們根據時間戳或是隨機數產生符合 RFC 4122 標準的 UUID Universally Unique Ide...
webserver (http)
http Node.js 原生 Web Server 💡 為什麼需要了解這個核心模組? http 是 Node.js 內建的核心模組,不需要透過 npm 安裝。雖然在實務上我們大多會使用 Express 或 Koa 等更進階的路由框架來架設伺服器,但理解原生的 http 模組運作原理,是掌握 No...
express
express express 是 Node.js 最經典、最主流的 Web 應用框架。它大幅簡化了原生 http 模組繁瑣的設定,提供了極簡且靈活的路由系統與中介軟體 Middleware 架構。 安裝 bash npm install express 基本使用範例(優雅的語意化路由) 相較於原生...
Express Router
Express Router 拆分與模組化 對於 「Router 拆分及模組化」,最核心的觀念可以總結為:「拒絕義大利麵條程式碼,用樂高積木的方式管理 API」。 這是從「寫腳本」邁向「軟體工程」的第一步,也是後端架構演進的第一個、最重要的分水嶺。 💡 為什麼要拆分?(解決痛點) 在剛學 Expr...
formidable
formidable formidable 是一個專門用來解析 Node.js 中處理 multipart/formdata(例如上傳檔案)的套件。它能夠非常有效率地將前端傳來的檔案與表單欄位拆解開來,方便後端儲存與處理。 安裝 bash npm install formidable 基本概念與使用...
ezdcbot (Discord 推播)
ezdcbot 零依賴 Discord 推播套件 💡 套件介紹 這是我親自開發並發布至 npm 生態圈的開源套件! 為了在 Serverless 無伺服器 架構中實現極致的輕量化,ezdcbot 捨棄了官方 Discord.js 龐大的 WebSocket 依賴,改用純原生 fetch 實作 RE...
ghaction-lis (Action 監聽)
一個輕量級的 Node.js CLI 工具,專為開發者設計,用於在終端機 (Terminal) 中即時監聽 GitHub Actions 的部署狀態。