Node.js
Source: https://github.com/sindresorhus/awesome-nodejs at
b8e1c0c38795
License: CC0-1.0
Read the English original
This edition is an AI-assisted translation.
特別感謝:
只要輸入 node.cool 即可前往此處。歡迎在 Twitter.
Node.js 是一個開放原始碼、跨平台的 JavaScript 執行環境,可用來撰寫伺服器與命令列工具。
- webtorrent - 適用於 Node.js 與瀏覽器的 BitTorrent 串流用戶端。
- peerflix - BitTorrent 串流用戶端。
- ipfs - 分散式檔案系統,旨在讓所有運算裝置連結至同一個檔案系統。
- stackgl - 以 browserify 與 npm 為基礎打造的開放原始碼 WebGL 生態系。
- peerwiki - 透過 BitTorrent 分享整個維基百科。
- peercast - 將 BitTorrent 影片串流至 Chromecast。
- BitcoinJS - 簡潔、易讀且經過驗證的 Bitcoin 程式庫。
- Bitcore - 純粹且功能強大的 Bitcoin 程式庫。
- PDFKit - PDF 產生程式庫。
- turf - 模組化的地理空間處理與分析引擎。
- webcat - 透過 WebRTC 跨網路建立 P2P 管道,並以你的 GitHub 公開/私密金鑰進行驗證。
- NodeOS - 第一個以 npm 為動力的作業系統。
- YodaOS - AI 作業系統。
- Brain.js - 機器學習框架。
- Pipcook - 用來建立機器學習管線的前端演算法框架。
- Cytoscape.js - 圖論(又稱網路)的建模與分析工具。
- js-git - Git 的 JavaScript 實作。
- xlsx - 純 JavaScript 的 Excel 試算表讀取與寫入工具。
- isomorphic-git - Git 的純 JavaScript 實作。
命令列應用程式
Section titled “命令列應用程式”- np - 更好用的
npm publish。 - npm-name - 檢查 npm 上是否還有可用的套件名稱。
- gh-home - 開啟目前目錄中儲存庫的 GitHub 頁面。
- npm-home - 開啟套件的 npm 頁面。
- trash - 比
rm更安全的替代工具。 - speed-test - 測試網際網路連線速度與 ping 值。
- pageres - 擷取網站畫面截圖。
- cpy - 複製檔案。
- vtop - 更好看的 top,並附有精美圖表。
- empty-trash - 清空垃圾桶。
- is-up - 檢查網站是否正常運作。
- is-online - 檢查網際網路連線是否正常。
- public-ip - 取得你的公開 IP 位址。
- clipboard-cli - 在終端機中複製與貼上。
- XO - 使用 JavaScript happiness style 強制套用嚴格的程式碼風格。
- ESLint - 可外掛擴充的 JavaScript 程式碼檢查工具。
- David - 通知你 npm 套件相依性是否已過期。
- http-server - 簡單、免設定的命令列 HTTP 伺服器。
- Live Server - 支援 livereload 的開發用 HTTP 伺服器。
- bcat - 將命令輸出管線傳送至網頁瀏覽器。
- normit - 在終端機中使用 Google 翻譯與語音合成。
- fkill - 輕鬆終止程序,且支援跨平台。
- pjs - 可透過管線使用的 JavaScript;在終端機中快速篩選、對應與歸約資料。
- license-checker - 檢查應用程式相依套件的授權條款。
- browser-run - 在瀏覽器環境中輕鬆執行程式碼。
- tmpin - 為任何接受檔案輸入的 CLI 應用程式加入 stdin 支援。
- wallpaper - 更換桌布。
- pen - 在瀏覽器中即時預覽最愛編輯器內的 Markdown。
- dark-mode - 切換 macOS 深色模式。
- Jsome - 以可設定的色彩與縮排美化輸出 JSON。
- mobicon - 行動應用程式圖示產生器。
- mobisplash - 行動應用程式啟動畫面產生器。
- diff2html-cli - 將 Git 差異轉換成美觀的 HTML。
- trymodule - 在終端機中試用 npm 套件。
- jscpd - 原始碼複製貼上偵測工具。
- atmo - 伺服器端 API 模擬工具。
- auto-install - 隨著你編寫程式碼自動安裝相依套件。
- cost-of-modules - 找出哪些相依套件拖慢了你的程式。
- localtunnel - 將本機 localhost 暴露給全世界。
- svg-term-cli - 以 SVG 分享終端機工作階段。
- gtop - 終端機用的系統監控儀表板。
- themer - 為編輯器、終端機、桌布、Slack 等產生佈景主題。
- carbon-now-cli - 直接在終端機中將程式碼轉成精美圖片。
- cash-cli - 在 170 種貨幣之間進行換算。
- taskbook - 適用於命令列環境的任務、看板與筆記工具。
- discharge - 輕鬆將靜態網站部署至 Amazon S3。
- npkill - 輕鬆找出並移除舊版及佔用空間大的 node_modules 資料夾。
函數式程式設計
Section titled “函數式程式設計”- lodash - 提供一致性、自訂能力、效能等功能的工具程式庫;比 Underscore.js 更出色、更快速。
- immutable - 不可變的資料集合。
- Ramda - 著重彈性函數組合的工具程式庫,透過自動柯里化與反向引數順序實現;不會修改資料。
- Mout - 工具程式庫;與其他既有方案最大的不同是,可只載入需要的模組或函式,不會帶來額外負擔。
- RxJS - 用於轉換、組合及查詢各種資料的函數式反應式程式庫。
- Kefir.js - 著重高效能與低記憶體用量的反應式程式庫。
- got - 內建
http模組更好用的介面。 - undici - 從頭打造、零相依性的高效能 HTTP 用戶端。
- ky-universal - 以 Fetch 為基礎的通用 HTTP 用戶端。
- node-fetch - Node.js 版本的
window.fetch。 - axios - 以 Promise 為基礎的 HTTP 用戶端(瀏覽器也能使用)。
- superagent - HTTP 請求程式庫。
- http-fake-backend - 透過可設定的路由提供 JSON 檔案或 JavaScript 物件內容,建置模擬後端。
- cacheable-request - 為原生 HTTP 請求包裝符合 RFC 的快取支援。
- gotql - 以 got 建置的 GraphQL 請求程式庫。
- global-agent - 可透過環境變數設定的全域 HTTP/HTTPS 代理程式。
- smoke - 可記錄請求的檔案式 HTTP 模擬伺服器。
- purest - REST 用戶端。
偵錯 / 效能分析
Section titled “偵錯 / 效能分析”- debug - 輕量級偵錯工具。
- why-is-node-running - Node.js 正在執行,但你不知道原因嗎?
- njsTrace - 為程式碼加上檢測與追蹤,檢視函式呼叫、引數、回傳值,以及各函式耗時。
- vstream - 可插入檢測功能的串流混入模組,用來檢查串流管線。
- stackman - 在錯誤堆疊追蹤中加入程式碼片段等實用資訊。
- locus - 在執行階段啟動可存取所有變數的 REPL。
- 0x - 火焰圖效能分析工具。
- ctrace - 格式更清晰、功能更完善的系統呼叫與訊號追蹤工具。
- leakage - 撰寫記憶體洩漏測試。
- llnode - 事後分析工具,可檢查物件並深入了解已當機的 Node.js 程序。
- thetool - 擷取應用程式的 CPU、記憶體及其他效能分析資料,並輸出成適用於 Chrome DevTools 的格式。
- swagger-stats - 追蹤 API 呼叫,監控 API 效能、健康狀態與使用指標。
- NiM - 管理 DevTools 偵錯工作流程。
- dats - 精簡、零相依性的 StatsD 用戶端。
- pino - 受 Bunyan 啟發的極高速記錄器。
- winston - 支援多種傳輸方式的非同步記錄程式庫。
- console-log-level - 極簡易用的記錄器,支援記錄層級與自訂前綴。
- storyboard - 端對端、階層式、即時且色彩豐富的記錄與故事追蹤工具。
- consola - 主控台記錄器。
- chalk - 妥善處理終端機字串樣式的工具。
- meow - CLI 應用程式輔助工具。
- yargs - 命令列解析器,可自動產生精美的使用者介面。
- ora - 優雅的終端機載入動畫。
- get-stdin - 更方便地讀取 stdin。
- log-update - 在終端機覆寫先前輸出以更新記錄,適合呈現進度列、動畫等。
- Ink - 用於互動式命令列應用程式的 React。
- listr2 - 終端機工作清單。
- conf - 簡單的應用程式或模組設定管理。
- ansi-escapes - 用來操作終端機的 ANSI 跳脫碼。
- log-symbols - 各種記錄層級的彩色符號。
- figures - Unicode 符號,並提供 Windows CMD 替代字元。
- boxen - 在終端機中建立方框。
- terminal-link - 在終端機中建立可點擊連結。
- terminal-image - 在終端機中顯示圖片。
- string-width - 取得字串的視覺寬度,也就是顯示所需的欄數。
- cli-truncate - 將字串截斷至終端機中的指定寬度。
- blessed - 類似 curses 的程式庫。
- Inquirer.js - 互動式命令列提示工具。
- yn - 解析類似 yes/no 的值。
- cli-table3 - 美觀的 Unicode 表格。
- drawille - 使用 Unicode 點字字元在終端機繪圖。
- ascii-charts - 終端機中的 ASCII 長條圖。
- progress - 彈性的 ASCII 進度列。
- insight - 透過匿名回報使用指標至 Google Analytics,協助你了解工具的使用情況。
- cli-cursor - 切換 CLI 游標。
- cli-columns - 將文字清單排成欄位,並安全支援 Unicode 與 ANSI。
- cfonts - 炫酷的主控台 ASCII 字型。
- multispinner - 多個可同時執行且可個別控制的 CLI 載入動畫。
- omelette - Shell 自動補全輔助工具。
- cross-env - 跨平台設定環境變數。
- shelljs - 可攜式 Unix shell 命令。
- sudo-block - 禁止使用者以 root 權限執行你的應用程式。
- sparkly - 產生迷你趨勢圖
▁▂▃▅▂▇。 - Bit - 在不同儲存庫間建立、維護、尋找及使用小型模組與元件。
- gradient-string - 為終端機輸出加入精美色彩漸層。
- oclif - CLI 框架,內建解析器、自動文件產生、測試與外掛。
- terminal-size - 可靠地取得終端機視窗大小。
- Cliffy - 互動式 CLI 框架。
- zx - 使用 JavaScript 撰寫 shell 指令碼。
- parcel - 極速、免設定的網頁應用程式打包工具。
- webpack - 為瀏覽器打包模組與資產。
- rollup - 新一代 ES2015 模組打包工具。
- gulp - 以程式碼而非設定為主的串流式快速建置系統。
- Broccoli - 快速可靠的資產管線,支援固定時間重建與精簡的建置定義。
- Brunch - 前端網頁應用程式建置工具,具備簡潔的宣告式設定、快速增量編譯及具主見的工作流程。
- FuseBox - 快速建置系統,結合 webpack、JSPM 與 SystemJS 的優點,並原生支援 TypeScript。
- pkg - 將 Node.js 專案封裝成可執行檔。
- Vite - 前端建置工具,提供熱模組替換與靜態資產打包。
- johnny-five - 以 Firmata 為基礎的 Arduino 框架。
- serialport - 存取序列埠以讀寫資料。
- usb - USB 程式庫。
- i2c-bus - 存取 I2C 序列匯流排。
- onoff - GPIO 存取與中斷偵測。
- spi-device - 存取 SPI 序列匯流排。
- pigpio - 在 Raspberry Pi 上快速控制 GPIO、PWM 與伺服機,並提供狀態變更通知及中斷處理。
- gps - 處理 GPS 接收器的 NMEA 解析器。
- modbus-serial - 純 JavaScript 實作的 MODBUS-RTU(序列埠與 TCP)。
- marko - 以 HTML 為基礎的範本引擎,可將範本編譯為 CommonJS 模組,並支援串流、非同步呈現與自訂標籤。
- nunjucks - 範本引擎,支援繼承、非同步控制等功能(受 Jinja2 啟發)。
- handlebars.js - Mustache 範本的超集,加入輔助函式等強大功能及更進階的區塊。
- EJS - 簡單、沒有特定立場的範本語言。
- Pug - 深受 Haml 影響的高效能範本引擎。
- Fastify - 快速且額外負擔低的網頁框架。
- Next.js - 精簡的框架,用於伺服器端呈現的通用 JavaScript 網頁應用程式。
- Nuxt.js - 精簡的框架,用於伺服器端呈現的 Vue.js 應用程式。
- Hapi - 用於建置應用程式與服務的框架。
- Micro - 採用非同步方式的精簡微服務框架。
- Koa - 由 Express 團隊打造,旨在為網頁應用程式與 API 提供更小巧、具表達力且穩健的基礎框架。
- Express - 網頁應用程式框架,提供豐富功能以建置單頁、多頁及混合式網頁應用程式。
- Feathers - 秉持 Express 精神打造的微服務框架。
- LoopBack - 強大的框架,可建立 REST API,並輕鬆連接後端資料來源。
- Meteor - 極簡的資料庫無所不在、資料在線傳輸的純 JavaScript 網頁框架。(你或許也會喜歡 awesome-meteor)
- Restify - 讓你能建置正確的 REST 網頁服務。
- ThinkJS - 支援 ES2015+、WebSockets 與 REST API 的框架。
- ActionHero - 用於建立可重複使用且可擴充 API 的框架,支援 TCP socket、WebSockets 與 HTTP 用戶端。
- seneca - 撰寫微服務的工具組。
- AdonisJs - 以穩固的相依性注入與 IoC 容器為基礎建置的真正 MVC 框架。
- Moleculer - 快速且功能強大的微服務框架。
- Nest - 受 Angular 啟發,用於建置高效且可擴充伺服器端應用程式的框架。
- TypeGraphQL - 現代化框架,使用類別與裝飾器以 TypeScript 建置 GraphQL API。
- Tinyhttp - 現代且快速、類似 Express 的網頁框架。
- Marble.js - 以 TypeScript 與 RxJS 為基礎建置伺服器端應用程式的函數式反應式框架。
- Lad - 由曾任 Express 技術委員會與 Koa 成員的人員打造,整合網頁、API、工作與代理伺服器的框架。
- Ts.ED - 直覺易用的 TypeScript 框架,以 Express.js 或 Koa.js 為基礎建置伺服器端應用程式。
- Hono - 小巧快速的網頁框架。
- documentation.js - 支援 ES2015+ 與 Flow 註解的 API 文件產生器。
- Docco - 文件產生器,可產生 HTML 文件,將註解與程式碼交錯呈現。
- JSDoc - 類似 JavaDoc 或 PHPDoc 的 API 文件產生器。
- Docusaurus - 運用 React 與 Markdown 的文件網站產生器,並內建翻譯與版本管理功能。
- del - 使用 glob 刪除檔案與資料夾。
- globby - 支援多種模式的 glob 檔案搜尋工具。
- chokidar - 檔案系統監看工具,可穩定
fs.watch與fs.watchFile的事件,並在 macOS 使用原生fsevents。 - find-up - 逐層向上搜尋父目錄中的檔案。
- proper-lockfile - 跨程序與跨機器的鎖定檔工具。
- load-json-file - 讀取並解析 JSON 檔案。
- write-json-file - 將 JSON 字串化並以原子方式寫入檔案。
- fs-write-stream-atomic - 類似
fs.createWriteStream(),但具備原子性。 - filenamify - 將字串轉換成有效的檔名。
- istextorbinary - 檢查檔案是文字檔還是二進位檔。
- fs-jetpack - 徹底重新設計的檔案系統 API,方便日常使用。
- fs-extra -
fs模組的額外方法。 - package-directory - 尋找 npm 套件的根目錄。
- filehound - 彈性且流暢的檔案系統搜尋介面。
- move-file - 移動檔案,甚至可跨裝置移動。
- tempy - 取得隨機的暫存檔案或目錄路徑。
- Promise
- Observable
- RxJS - 用於轉換、組合及查詢各種資料的函數式反應式程式庫。
- observable-to-promise - 將 Observable 轉換成 Promise。
- More…
- 串流
- Highland.js - 只運用標準 JavaScript 與類似 Node.js 的串流,就能輕鬆管理同步與非同步程式碼。
- get-stream - 將串流讀取為字串或緩衝區。
- from2 - ReadableStream 的便利包裝器,靈感來自
through2。 - into-stream - 將緩衝區、字串、陣列或物件轉換成串流。
- duplexify - 將可寫入與可讀取串流組合成單一 streams2 雙工串流。
- pumpify - 將串流陣列組合成單一雙工串流。
- peek-stream - 轉換串流,可先查看第一行再決定如何解析。
- binary-split - 依換行符號或其他分隔符切分串流。
- byline - 極簡易用的逐行串流讀取器。
- first-chunk-stream - 轉換串流中的第一個區塊。
- pad-stream - 填補串流中的每一行。
- multistream - 將多個串流組合成單一串流。
- readable-stream - 核心中 Streams2 與 Streams3 實作的鏡像版本。
- through2-concurrent - 並行轉換物件串流。
- µWebSockets - 高度可擴充的 WebSocket 伺服器與用戶端程式庫。
- Socket.io - 實現即時、雙向且以事件為基礎的通訊。
- Faye - 以 Bayeux 通訊協定為基礎的即時用戶端-伺服器訊息匯流排。
- SocketCluster - 可在多個 CPU 核心上執行的可擴充 HTTP 與 WebSocket 引擎。
- Primus - 即時框架的抽象層,可避免被特定模組綁定。
- deepstream.io - 可擴充的即時微服務框架。
- Kalm - 低階 socket 路由器與中介軟體框架。
- MQTT.js - MQTT 用戶端;這是一種建構於 TCP/IP 之上的發布/訂閱訊息通訊協定。
- rpc-websockets - 透過 WebSockets 實作 JSON-RPC 2.0。
- Aedes - 精簡的 MQTT 伺服器,可在任何串流伺服器上執行。
- sharp - 最快速的 JPEG、PNG、WebP 與 TIFF 圖片縮放模組。
- image-type - 偵測圖片類型。
- image-dimensions - 取得圖片尺寸。
- lwip - 不需 ImageMagick 的輕量級圖片處理器。
- pica - 以純 JavaScript 高品質快速縮放圖片(lanczos3);不允許像素化時,可替代 canvas drawImage()。
- jimp - 以純 JavaScript 進行圖片處理。
- qrcode - QR Code 與條碼產生器。
- ImageScript - 使用 JavaScript 處理圖片,並運用 WebAssembly 提升效能。
- iconv-lite - 轉換字元編碼。
- string-length - 取得字串的實際長度,正確計算補充平面符號並忽略 ANSI 跳脫碼。
- camelcase - 將以連字號、句點、底線或空格分隔的字串轉成 camelCase:foo-bar → fooBar。
- escape-string-regexp - 跳脫 RegExp 特殊字元。
- splice-string - 像
Array#splice一樣移除或取代字串的一部分。 - indent-string - 縮排字串中的每一行。
- strip-indent - 移除字串每一行開頭的空白。
- detect-indent - 偵測程式碼的縮排方式。
- he - HTML 實體編碼與解碼器。
- i18n-node - 使用動態 JSON 儲存資料的簡易翻譯模組。
- babelfish - 語法非常簡單的多元複數 i18n 工具。
- matcher - 簡易萬用字元比對工具。
- unhomoglyph - 正規化外觀相似的 Unicode 字元。
- i18next - 國際化框架。
- nanoid - 小巧、安全且適用於 URL 的唯一字串 ID 產生器。
- StegCloak - 將祕密資訊隱藏在字串中,且不易察覺。
- random-int - 產生隨機整數。
- random-float - 產生隨機浮點數。
- unique-random - 產生連續不重複的隨機數。
- round-to - 將數字四捨五入至指定小數位數:
1.234→1.2。
- ndarray - 多維陣列。
- mathjs - 功能完整的數學程式庫。
- math-clamp - 將數值限制在指定範圍內。
- algebra - 代數結構。
- multimath - 以 WebAssembly 與 JavaScript 快速進行圖片數學運算的核心工具。
- Luxon - 處理日期與時間的程式庫。
- date-fns - 現代化日期工具。
- Day.js - 不可變日期程式庫,可替代 Moment.js。
- dateformat - 日期格式化工具。
- tz-format - 依時區格式化日期:
2015-11-30T10:40:35+01:00。 - cctz - 快速解析、格式化及轉換日期時區。
- normalize-url - 正規化 URL。
- humanize-url - 將 URL 轉成易讀格式,例如 https://sindresorhus.com → sindresorhus.com。
- url-unshort - 展開縮網址。
- speakingurl - 將字串轉換成經轉寫的 slug。
- linkify-it - 可完整支援 Unicode 的連結模式偵測器。
- url-pattern - 比使用正規表示式更簡單的 URL 與其他字串模式比對方式。
- embedza - 使用 oEmbed、Open Graph 與中繼標籤資訊,從 URL 建立 HTML 片段/嵌入內容。
- joi - JavaScript 物件的物件結構描述語言與驗證器。
- is-my-json-valid - 使用程式碼產生以達到極速的 JSON Schema 驗證器。
- property-validator - 適用於 Express 的簡易屬性驗證工具。
- schema-inspector - JSON API 清理與驗證工具。
- ajv - 最快速的 JSON Schema 驗證器,支援 v5、v6 與 v7 提案。
- Superstruct - 在 JavaScript(及 TypeScript)中驗證資料的簡單、可組合方式。
- yup - 物件結構描述驗證。
- zod - 以 TypeScript 為優先,並能靜態推斷型別的結構描述驗證。
- remark - 以外掛驅動的 Markdown 處理器。
- markdown-it - 完全支援 CommonMark、擴充功能與語法外掛的 Markdown 解析器。
- parse5 - 快速且功能完整、符合規格的 HTML 解析器。
- @parcel/css - 以 Rust 撰寫的 CSS 解析器、轉換器與壓縮器。
- strip-json-comments - 移除 JSON 中的註解。
- strip-css-comments - 移除 CSS 中的註解。
- parse-json - 解析 JSON,並提供更實用的錯誤訊息。
- URI.js - URL 修改工具。
- JSONStream - 串流式 JSON.parse 與字串化工具。
- neat-csv - 快速 CSV 解析器,提供上述工具的回呼介面。
- csv-parser - 旨在超越所有同類工具的串流式 CSV 解析器。
- PEG.js - 簡易解析器產生器,可產生快速解析器並提供出色的錯誤回報。
- x-ray - 網頁資料擷取工具。
- nearley - 適用於 JavaScript 的簡單、快速且強大的解析工具。
- binary-extract - 無須解析整份 JSON,即可從緩衝區擷取值。
- Stylecow - 解析、操作並轉換現代 CSS,使其相容於所有瀏覽器;並可透過外掛擴充。
- js-yaml - 極快速的 YAML 解析器。
- xml2js - 將 XML 轉換成 JavaScript 物件。
- Jison - 易於使用的 JavaScript 解析器產生器,與 Bison、Yacc 等工具同源。
- google-libphonenumber - 解析、格式化、儲存及驗證電話號碼。
- ref - 讀寫 Buffer 中的結構化二進位資料。
- xlsx-populate - 讀取與寫入 Excel XLSX 檔案。
- Chevrotain - 快速且功能豐富的 JavaScript 解析器建置工具組。
- fast-xml-parser - 驗證並解析 XML。
- pretty-bytes - 將位元組數轉換成易讀字串:
1337→1.34 kB。 - pretty-ms - 將毫秒數轉換成易讀字串:
1337000000→15d 11h 23m 20s。 - ms - 輕量級毫秒轉換工具。
- pretty-error - 讓錯誤訊息更簡潔易讀。
- read-art - 從任意網頁擷取易讀內容。
- yazl - 建立 ZIP 壓縮檔。
- yauzl - 解壓縮 ZIP 檔。
- Archiver - 支援 ZIP 與 TAR 的串流式封存檔產生介面。
- pako - 高速純 JavaScript zlib 移植版本(deflate、inflate、gzip)。
- tar-stream - 串流式 tar 解析器與產生器。另請參閱 tar-fs。
- get-port - 取得可用連接埠。
- ipify - 取得你的公開 IP 位址。
- getmac - 取得電腦的 MAC 位址。
- DHCP - DHCP 用戶端與伺服器。
- netcat - 純 JavaScript 實作的 Netcat。
- 驅動程式
- PostgreSQL - PostgreSQL 用戶端,採純 JavaScript 並支援原生 libpq 綁定。
- Redis - Redis 用戶端。
- LevelUP - LevelDB。
- MySQL - MySQL 用戶端。
- couchdb-nano - CouchDB 用戶端。
- Aerospike - Aerospike 用戶端。
- Couchbase - Couchbase 用戶端。
- MongoDB - MongoDB 驅動程式。
- ODM / ORM
- Sequelize - 支援多種方言的 ORM,包括 PostgreSQL、SQLite、MySQL 等。
- Bookshelf - 採用 Backbone.js 風格,適用於 PostgreSQL、MySQL 與 SQLite3 的 ORM。
- Mongoose - 優雅的 MongoDB 物件建模工具。
- Waterline - 與資料儲存系統無關的工具,大幅簡化與一或多個資料庫的互動。
- OpenRecord - 適用於 PostgreSQL、MySQL、SQLite3 與 RESTful 資料儲存區的 ORM,類似 ActiveRecord。
- pg-promise - 使用 Promise 操作原生 SQL 的 PostgreSQL 框架。
- slonik - 具備嚴格型別、詳細記錄與斷言功能的 PostgreSQL 用戶端。
- Objection.js - 以 Knex SQL 查詢建構器打造的輕量級 ORM。
- TypeORM - 適用於 PostgreSQL、MariaDB、MySQL、SQLite 等的 ORM。
- MikroORM - 以 Data Mapper、Unit of Work 與 Identity Map 模式為基礎的 TypeScript ORM,支援 MongoDB、PostgreSQL、MySQL 與 SQLite。
- Prisma - 現代化資料庫存取工具(ORM 替代方案);以 TypeScript 自動產生具型別安全的查詢建構器,支援 PostgreSQL、MySQL 與 SQLite。
- Drizzle ORM - 支援 PostgreSQL 等多種資料庫的 TypeScript ORM。
- 查詢建構器
- Knex - 適用於 PostgreSQL、MySQL 與 SQLite3 的查詢建構器,兼具彈性、可攜性與易用性。
- 其他
- NeDB - 以 JavaScript 撰寫的嵌入式持久化資料庫。
- Lowdb - 由 Lodash 驅動的小型 JavaScript 資料庫。
- Keyv - 簡易鍵值儲存工具,支援多種後端。
- Finale - 為 Sequelize 模型產生 RESTful 端點。
- database-js - 支援多種資料庫的包裝器,提供類似 JDBC 的連線介面。
- Mongo Seeding - 使用 JavaScript 與 JSON 檔案填入 MongoDB 資料庫。
- @databases - 使用純 SQL 查詢 PostgreSQL、MySQL 與 SQLite3,同時避免 SQL 插入攻擊。
- pg-mem - 供測試使用的記憶體內 PostgreSQL 執行個體。
- AVA - 新世代測試執行器。
- Mocha - 功能豐富的測試框架,讓非同步測試簡單又有趣。
- nyc - 以 istanbul 為基礎且支援子程序的程式碼涵蓋率工具。
- tap - TAP 測試框架。
- tape - 產生 TAP 的測試工具。
- power-assert - 透過標準 assert 介面提供清楚詳盡的斷言訊息。
- Mochify - 使用 Browserify、Mocha、PhantomJS 與 WebDriver 進行 TDD。
- trevor - 無須手動切換版本或推送至 Travis CI,即可使用多個 Node.js 版本執行測試。
- loadtest - 執行網頁應用程式的負載測試,並提供自動化 API。
- Sinon.JS - 測試用的間諜、存根與模擬工具。
- navit - PhantomJS/SlimerJS 包裝器,簡化瀏覽器測試指令碼撰寫。
- Nock - HTTP 模擬與預期條件工具。
- intern - 程式碼測試工具組。
- toxy - 可自訂的 HTTP 代理程式,用於模擬故障情境與網路狀況。
- hook-std - 攔截並修改 stdout/stderr。
- testen - 使用 NVM 在本機以多個 Node.js 版本執行測試。
- Nightwatch - 以 Selenium WebDriver 為基礎的自動化 UI 測試框架。
- WebdriverIO - 以 WebDriver 通訊協定為基礎的自動化測試工具。
- Jest - 輕鬆進行 JavaScript 測試。
- Vitest - 由 Vite 驅動的快速單元測試框架。
- TestCafe - 自動化瀏覽器測試工具。
- abstruse - 持續整合伺服器。
- CodeceptJS - 端對端測試工具。
- Puppeteer - 無頭 Chrome。
- Playwright - 透過單一 API 操作無頭 Chromium、WebKit 與 Firefox。
- nve - 在本機使用多個 Node.js 版本執行任意命令。
- axe-core - 用於自動化網頁 UI 測試的無障礙引擎。
- testcontainers-node - 提供輕量、可拋棄式的常見資料庫、Selenium 網頁瀏覽器或任何可在 Docker 容器中執行的服務。
- upash - 統一支援所有密碼雜湊演算法的 API。
- themis - 多語言框架,讓常見加密方案易於使用:靜態資料保護、經驗證的資料交換、傳輸保護、驗證等。
- GuardRails - 在提取要求中提供安全性意見回饋的 GitHub 應用程式。
- rate-limiter-flexible - 防範暴力破解與 DDoS 攻擊。
- crypto-hash - 非同步、非阻塞的雜湊工具。
- jose-simple - 使用 JOSE(JSON 物件簽章與加密)標準加密及解密資料。
- Benchmark.js - 支援高解析度計時器並能產生統計上顯著結果的基準測試程式庫。
- babel-minify - 以 Babel 工具鏈為基礎、理解 ES2015+ 的壓縮器。
- UglifyJS2 - JavaScript 壓縮器。
- clean-css - CSS 壓縮器。
- minimize - HTML 壓縮器。
- imagemin - 圖片壓縮器。
- Passport - 簡單且不干擾應用程式的驗證工具。
- Grant - 適用於 Express、Koa、Hapi、Fastify、AWS Lambda、Azure、Google Cloud、Vercel 等平台的 OAuth 供應商。
- CASL - 適用於 UI 與 API 的同構授權工具。
- node-casbin - 支援 ACL、RBAC 與 ABAC 等存取控制模型的授權程式庫。
- Nodemailer - 處理電子郵件的最快方式。
- emailjs - 向任何 SMTP 伺服器傳送含附件的純文字/HTML 電子郵件。
- email-templates - 建立、預覽並傳送自訂電子郵件範本。
- MJML - 旨在簡化回應式電子郵件製作的標記語言。
- Forward Email - 開放原始碼且可自行託管的電子郵件服務。
- bull - 持久化工作與訊息佇列。
- agenda - 以 MongoDB 為後端的工作排程工具。
- idoit - 以 Redis 為後端、具備進階工作控制功能的佇列引擎。
- node-resque - 以 Redis 為後端的工作佇列。
- rsmq - 以 Redis 為後端的訊息佇列。
- bee-queue - 高效能、以 Redis 為後端的工作佇列。
- RedisSMQ - 簡單、高效能且具備即時監控功能的 Redis 訊息佇列。
- sqs-consumer - 無須撰寫樣板程式碼,即可建置以 Amazon Simple Queue Service (SQS) 為基礎的應用程式。
- better-queue - 無法使用 Redis 時的簡易高效工作佇列。
- bullmq - 持久化工作與訊息佇列。
- bree - 工作排程器,支援 worker threads、cron、日期與易讀語法。
- graphile-worker - 高效能 PostgreSQL 工作佇列。
Node.js 管理
Section titled “Node.js 管理”- n - Node.js 版本管理工具。
- nave - Node.js 虛擬環境。
- nodeenv - 與 Python virtualenv 相容的 Node.js 虛擬環境。
- nvm for Windows - Windows 版本管理工具。
- nodenv - 類似 Ruby rbenv 的版本管理工具,支援自動切換版本。
- fnm - 以 Rust 建置的跨平台 Node.js 版本管理工具。
- napi-rs - 透過 Node-API 使用 Rust 建置已編譯 Node.js 附加元件的框架。
- Neon - 用於撰寫安全且快速原生 Node.js 模組的 Rust 綁定。
- Edge.js - 在 Windows、macOS 與 Linux 上,於同一程序中執行 .NET 與 Node.js 程式碼。
- DotNetJS - 透過此 .NET 互通層,在 Node.js 中使用 .NET 程式庫。
自然語言處理
Section titled “自然語言處理”- retext - 可擴充的自然語言系統。
- franc - 偵測文字所使用的語言。
- leven - 使用 Levenshtein 距離演算法計算兩個字串的差異。
- natural - 自然語言處理工具。
- nlp.js - 建置機器人,支援實體擷取、情緒分析、自動語言識別等功能。
- PM2 - 進階程序管理工具。
- nodemon - 監看應用程式變更並自動重新啟動伺服器。
- node-mac - 以原生 Mac 背景服務執行指令碼,並將記錄寫入主控台應用程式。
- node-linux - 以原生系統服務執行指令碼,並將記錄寫入 syslog。
- node-windows - 以原生 Windows 服務執行指令碼,並將記錄寫入事件檢視器。
- supervisor - 指令碼當機時重新啟動,或在
*.js檔案變更時重新啟動。 - Phusion Passenger - 可直接與 Nginx 整合的易用程序管理工具。
- Acorn - 小巧快速的 JavaScript 解析器。
- babel-parser - Babel 使用的 JavaScript 解析器。
靜態網站產生器
Section titled “靜態網站產生器”- DocPad - 具備動態功能與龐大外掛生態系的靜態網站產生器。
- docsify - 無須預先產生靜態 HTML 檔案的 Markdown 文件網站產生器。
- Charge - 採用 JSX 與 MDX、具主見且免設定的靜態網站產生器。
內容管理系統
Section titled “內容管理系統”- KeystoneJS - 以 Express 與 MongoDB 為基礎的 CMS 與網頁應用程式平台。
- ApostropheCMS - 著重直覺式前端內容編輯與管理、以 Express 與 MongoDB 為基礎的內容管理系統。
- Strapi - 用於建置強大 API 的內容管理框架(無頭 CMS)。
- Factor - Vue.js 儀表板框架與無頭 CMS。
- AdminBro - 自動產生管理面板,為所有資源提供 CRUD 功能。
- Graphweaver - CMS 與無頭 GraphQL API。
- nodeBB - 為現代網路打造的論壇平台。
- cows - ASCII 牛圖。
- superb - 取得 superb 等級的形容詞。
- cat-names - 取得常見的貓咪名稱。
- dog-names - 取得常見的狗狗名稱。
- superheroes - 取得超級英雄名稱。
- supervillains - 取得超級反派名稱。
- cool-ascii-faces - 取得一些酷炫的 ASCII 表情。
- cat-ascii-faces -
₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”。 - nerds - 取得《哈利波特》、《星際大戰》與《寶可夢》等宅文化主題的資料。
- execa - 更好用的
child_process。 - cheerio - 快速、彈性且精簡的核心 jQuery 實作,專為伺服器端設計。
- open - 開啟網站、檔案、可執行檔等項目。
- hasha - 簡化雜湊處理,取得緩衝區、字串、串流或檔案的雜湊值。
- dot-prop - 使用點路徑取得巢狀物件中的屬性。
- onetime - 讓函式只執行一次。
- mem - 快取函式結果以提升連續呼叫速度的最佳化技術。
- strip-bom - 移除字串/緩衝區/串流中的 UTF-8 位元組順序標記(BOM)。
- os-locale - 取得系統地區設定。
- ssh2 - SSH2 用戶端與伺服器模組。
- adit - 簡化 SSH 通道轉送。
- file-type - 偵測 Buffer 的檔案類型。
- Bottleneck - 讓節流更簡單的速率限制器。
- webworker-threads - 使用原生執行緒的輕量級 Web Worker API 實作。
- clipboardy - 存取系統剪貼簿(複製/貼上)。
- node-pre-gyp - 輕鬆發布與安裝以二進位檔提供的 Node.js C++ 附加元件。
- opencv - OpenCV 的綁定;這是業界標準的電腦視覺程式庫。
- dotenv - 從 .env 檔案載入環境變數。
- semver - 語意化版本解析器。
- nodegit - Git 的原生綁定。
- json-strictify - 安全地將值序列化為 JSON,避免資料遺失或陷入無窮迴圈。
- jsdom - HTML 與 DOM 的 JavaScript 實作。
- @sindresorhus/is - 值的型別檢查工具。
- env-dot-prop - 透過點路徑取得、設定或刪除 process.env 的巢狀屬性。
- node-video-lib - 以純 JavaScript 處理 MP4 與 FLV 影片檔,並為 HLS 串流建立 MPEG-TS 區塊的程式庫。
- basic-ftp - FTP/FTPS 用戶端。
- cashify - 貨幣換算工具。
- genepi - 從 C++ 程式碼自動產生原生 Node.js 附加元件。
- husky - 建立 Git hook 指令碼。
- patch-package - 建立並保留對 npm 相依套件所做的修正。
- editly - 宣告式影片編輯 API。
- wild-wild-path - 支援萬用字元與正規表示式的物件屬性路徑。
- uint8array-extras - 處理 Uint8Array 與 Buffer 的實用工具。
- npm - 預設的套件管理員。
- pnpm - 有效節省磁碟空間的套件管理員。
- yarn - 替代套件管理員。
- bun - 適用於 JavaScript 與 TypeScript 應用程式的全方位工具組。
- Node.js Best Practices - 精選與整理多種語言的 Node.js 最佳實務優質內容。
- Nodeschool - 透過互動式課程學習 Node.js。
- The Art of Node - Node.js 入門介紹。
- module-best-practices - 撰寫新 npm 模組時的一些良好實務。
- The Node Way - 一套完整的 Node.js 最佳實務哲學與指導原則,協助撰寫易於維護的模組、可擴充的應用程式,以及真正易讀的程式碼。
- You Don’t Know Node.js - Node.js 核心功能與非同步 JavaScript 入門。
- Portable Node.js guide - 撰寫可攜式/跨平台 Node.js 程式碼的實用指南。
- Build a real web app with no frameworks - 一系列影片教學與直播,教你運用少量簡單程式庫與 Node.js 核心模組,建置並部署真正可運作的網頁應用程式。
- npms - 出色的套件搜尋服務,使用多種指標深入分析套件品質。
- npm addict - 每日為你推薦 npm 套件。
- Error Handling in Node.js
- Teach Yourself Node.js in 10 Steps
- Mastering the filesystem in Node.js
- Semver: A Primer
- Semver: Tilde and Caret
- Why Asynchronous?
- Understanding the Node.js Event Loop
- Understanding Object Streams
- Using Express to Quickly Build a GraphQL Server
- Node Weekly - 每週彙整 Node.js 新聞與文章的電子郵件。
- Introduction to Node.js with Ryan Dahl
- Hands on with Node.js
- V8 Garbage Collector - 深入介紹 V8 垃圾回收器。
- 10 Things I Regret About Node.js by Ryan Dahl - Node.js 創作者分享其部分限制的精闢演講。
- Mastering REST APIs in Node.js: Zero-To-Hero - 教你如何使用 Node.js 建置 REST API 的影片課程。
- Make a vanilla Node.js REST API - 不使用 Express 等框架來建置 REST API。
- Google I/O 2009 - V8: High Performance JavaScript Engine - V8 架構基礎,以及它如何最佳化 JavaScript 執行。
- Google I/O 2012 - Breaking the JavaScript Speed Limit with V8 - V8 如何最佳化 JavaScript 執行。
- Google I/O 2013 - Accelerating Oz with V8: Follow the Yellow Brick Road to JavaScript Performance - 如何運用 V8 知識找出應用程式瓶頸並最佳化效能。
- Node.js Internal Architecture | Ignition, Turbofan, Libuv - Node.js 內部運作方式,著重介紹 V8 與 libuv。
- Introduction to libuv: What’s a Unicorn Velociraptor? - 介紹
libuv架構、執行緒集區與事件迴圈,並搭配原始碼講解。 - libuv Cross platform asynchronous i/o - 深入介紹
libuv架構,例如實際使用執行緒的部分。 - You Don’t Know Node - ForwardJS San Francisco - 透過有關 V8、libuv、事件迴圈、模組、串流與叢集的問答,說明 Node.js 內部運作。
- Node.js in Action
- Node.js in Practice
- Mastering Node
- Node.js 8 the Right Way
- Professional Node.js: Building JavaScript Based Scalable Software
- Secure Your Node.js Web Application
- Express in Action
- Practical Modern JavaScript
- Mastering Modular JavaScript
- Get Programming with Node.js
- Node.js Cookbook
- Node.js Design Patterns
- Node.js blog
- webapplog.com - 由《Practical Node.js》與《Pro Express.js》作者 Azat Mardan 撰寫的 Node.js 與 JavaScript 部落格文章。
- Learn to build apps and APIs with Node.js - Wes Bos 主講的影片課程。
- Real Time Web with Node.js
- Learn and Understand Node.js
- Node.js Full Stack Developer Course
- Express.js
- Stream FAQs - 回答常見串流問題,涵蓋分頁、事件等主題。
- Strong Node.js - Node.js 網頁服務原始碼安全分析檢查清單。
- OctoLinker - Chrome 擴充功能,可在 GitHub 的 package.json、.js、.jsx、.coffee 與 .md 檔案中將相依套件名稱轉為連結。
- npm-hub - Chrome 擴充功能,可在儲存庫 README 底部顯示 npm 相依套件。
- RunKit - 在任何網站嵌入 Node.js 執行環境。
- github-npm-stats - Chrome 擴充功能,可在 GitHub 顯示 npm 下載統計資料。
- npm semver calculator - 以視覺化方式探索 semver 範圍符合哪些套件版本。
- CodeSandbox - 線上 IDE 與原型開發工具。
- Amplication - 自動產生完整可用的應用程式。
- RunJS - 桌面版 JavaScript 練習環境。
- nodebots - 由 JavaScript 驅動的機器人。
- node-module-boilerplate - 用來快速開始建立 Node 模組的樣板。
- modern-node - 使用 Jest、Prettier、ESLint 與 Standard 建立 Node 模組的工具組。
- generator-nm - 快速建立 Node 模組的樣板產生器。
- Microsoft Node.js Guidelines - 在 Microsoft 平台上使用 Node.js 的技巧、訣竅與資源。
- Module Requests & Ideas - 提出你希望存在的 JavaScript 模組需求,或取得模組構想。
- v8-perf - V8 及其 Node.js 效能相關筆記與資源。
- awesome-npm - 使用 npm 的資源與技巧。
- awesome-cross-platform-nodejs - 撰寫與測試跨平台程式碼的資源。
HagiCode
HagiCode 是面向專案開發的 AI 編碼工作台:豐富、便利的介面互動讓規劃、Agent 執行與專案工作更容易上手和跟進,帶來更投入的開發體驗。
透過豐富、便利的介面互動,讓規劃、Agent 執行與專案工作更容易上手和跟進。
- 智慧OpenSpec 工作流程將意圖轉化為從提案、設計、任務到交付的可執行路徑。
- 高效多 Agent 並行推進研究、實作與審查,並支援多儲存庫變更與你熟悉的 Agent CLI。
- 有趣豐富、便利的介面互動讓規劃、Agent 執行與專案工作更容易上手和跟進,帶來更投入的開發體驗。
下載 Windows 版
分享 HagiCode
讓想法化為交付成果。
HagiCode 是面向專案開發的 AI 編碼工作台:以 OpenSpec 工作流程規劃變更,多 Agent 並行執行,再由 Hero Scenario 讓進度一目了然,將想法化為交付成果。
- 智慧
- OpenSpec 工作流程將意圖轉化為從提案到交付的可執行路徑。
- 高效
- 多 Agent 並行推進研究、實作與審查。
- 有趣
- 豐富、便利的介面互動,讓規劃、Agent 執行與專案工作更容易跟進。
© 2026 HagiCode | Powered By hagilight-starlight@0.21.0 | Branch: main | Commit: 745b50b | Built:

