Deno 是一個現代的、一體化的、零配置的 JavaScript 運行時、工具鏈,專為 JavaScript 和 TypeScript 開發設計。目前已有數十萬開發者在使用 Deno,其代碼倉庫是 GitHub 上 star 數第二高的 Rust 項目。
![]() | 102620 |
![]() | 5553 |
主要特點
-
內置安全性:執行代碼時,默認禁止所有文件、網絡和環境變量的訪問,除非明確通過命令行標志授予權限(如
--allow-read
,--allow-net
等)。 -
TypeScript 原生支持:Deno 內置了對 TypeScript 的支持,無需額外的配置或編譯步驟。開發者可以直接編寫 TypeScript 代碼,Deno 會自動處理編譯。
-
模塊的 URL 加載:在 Deno 中,可以直接通過 URL 加載 JavaScript 或 TypeScript 模塊,不需要像 npm 那樣有集中式的包管理器。
-
內置開發工具:Deno 提供了很多內置的開發工具,如格式化、測試、調試等,無需依賴外部工具或包。
-
與 npm 的兼容性:雖然 Deno 最初并不支持 npm 包,但 Deno 2.0 引入了對 npm 的完全兼容。
-
性能優化:Deno 團隊對運行時性能進行了深度優化,Deno 在處理復雜請求、啟動時間和整體效率上都表現良好。
-
針對 monorepo 的強大支持:Deno 2.0 引入了對 工作區(workspaces) 的支持,類似于 Yarn 和 pnpm 提供的功能。這使得開發者可以在同一個 monorepo 中管理多個項目或包,并通過單一配置文件 deno.json 來管理這些包。
Deno 由 Ryan Dahl 和 Bert Belder 在 2019 年共同創建,在創建 Deno 之前,Ryan Dahl 更是以創建了 Node.js 而聞名,Deno 旨在解決 Node.js 中存在的一些問題和設計缺陷 ?。
官網:Announcing Deno 2
GitHub:GitHub - denoland/deno: A modern runtime for JavaScript and TypeScript.?