開發者 dbushell 於 2026 年 10 月 3 日發文宣布結束對 Deno 的使用,轉而全面採用 Node.js。作者指出,近期在一個 SvelteKit 客戶專案中重度使用 Node.js 後,發現 Node.js 已大幅改進,支援 ECMAScript 語法糖並現代化了舊有 API,且不再需要處理 `require()`。作者強調 Node.js 已追平甚至超越 Deno,並列舉了促使他離開 Deno 的具體技術問題,包括 ZSH 整合損壞數週、JSR 頻繁出現「429 Too Many Requests」錯誤,以及導致 Deno 在處理並行 HTTP 請求時卡頓的 Bug。
在遷移過程中,作者選擇使用 PNPM 作為套件管理器以避免供應鏈風險(如惡意軟體),並配置 `pnpm-workspace.yaml` 設定 `minimumReleaseAge: 1440`(一天)和 `trustPolicy: no-downgrade` 來延遲惡意軟體更新。關於 TypeScript,作者提到 Node.js 雖然能執行 TypeScript,但拒絕處理 `node_modules` 下的 TypeScript 檔案,這被描述為一種哲學上的限制而非技術限制,旨在避免生態系統被 Microsoft 產品污染。因此,作者使用 `tsdown` 進行打包。
在效能方面,作者將自己的靜態網站生成器從 Deno 遷移至 Node.js v26.10.0,僅需將 Deno 的文件系統 API 替換為 `node:fs`,並使用 Hono 的 Node 適配器替換 `Deno.serve`。遷移後,建置速度提升了 15%。作者認為 Deno 的衰落是因為其公司 Deno Land Inc. 停止了創新,並允許矽谷定義「成功」,導致產品變得無聊且缺乏吸引力,最終導致大規模裁員。
事件背景
Deno Land Inc. 近期經歷了大規模裁員,作者批評其產品變得無聊且缺乏吸引力,並認為公司停止了創新。此外,作者因對 GitHub 現狀不滿而選擇自託管 Forgejo 實例。
社群觀察
社群反應兩極。部分用戶如 AgentME 表示仍偏好 Deno,因為其內建的測試執行器、Linter 和類型檢查器提供了簡化的開發體驗,認為在 Node.js 中配置這些工具較為複雜。另一部分用戶如 isyouaint 對 Deno 的衰落感到悲傷,指出裁員後缺乏路線圖和溝通,但仍對團隊保持尊重。也有用戶如 yearesadpeople 批評原文語氣過於負面或防禦性,認為 Node.js 團隊持續改進的努力值得尊重。還有用戶 tuveson 回應作者關於 TypeScript 限制與 Microsoft 關係的觀點,並提及微軟收購 GitHub 的歷史背景。



