文档开始使用

Deno 是什么

理解 Deno 的来历、设计取舍,以及它与 Node.js、Bun 和 Workers 的边界

Deno 是由 Node.js 创始人 Ryan Dahl 发起的开源 JavaScript、TypeScript 与 WebAssembly 运行时。它没有试图发明另一门语言,而是把现代 Web API、安全权限、包管理和工程工具收进一个 CLI。

为什么会有 Deno

Node.js 诞生时,CommonJS、npm 和前后端 JavaScript 都还很早期。Deno 重新选择了 ES Modules、URL/注册表依赖、Web 标准 API 和默认隔离,并把格式化、Lint、测试与类型检查做成内置能力。Deno 2 又加强了 Node 与 npm 兼容,因此今天的迁移通常可以渐进完成。

Node.js 项目                    Deno-first 项目
├── package.json                ├── deno.json
├── package-lock.json           ├── deno.lock
├── node_modules                ├── 全局缓存(默认)
├── tsc / eslint / test runner  └── deno fmt / lint / check / test
└── 默认拥有系统访问             └── 默认拒绝敏感系统访问

应该选哪个运行时

场景更自然的选择先核对什么
大量既有 Node 包与团队流程Node.js 或渐进采用 Deno原生扩展、loader、生命周期脚本
TypeScript API、CLI、自动化Deno权限清单与 npm 兼容性
极致启动速度、Bun 专属工具链BunNode API 与生产平台支持
Cloudflare 原生绑定和全球边缘WorkersNode 兼容子集、CPU 与平台限制
Fresh、Deno Deploy、MCP 工具服务Deno框架和托管平台当前版本

官方参考:Deno runtimeNode and npm compatibilityCloudflare Node.js compatibility

输入关键词搜索全部文档。