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.