文章目录

1. Deno 简介
Deno 是由 Node.js 之父 Ryan Dahl 于 2018 年创立的现代 JavaScript/TypeScript 运行时。Ryan Dahl 在 2009 年创造了 Node.js,深刻改变了服务端 JavaScript 的格局。十余年后,他针对 Node.js 在安全性、模块系统和工具链等方面的设计缺陷,从零开始用 Rust 重新打造了 Deno。Deno 基于 Google V8 引擎、Rust 和 Tokio 异步框架构建,以安全的默认配置(默认无文件/网络/环境变量访问权限)和原生 TypeScript 支持为核心特色。截至 2026 年中,Deno 在 GitHub 上已获得超过 100,000 颗星标,被 Slack、Netflix、Google 等企业用于生产环境,是与 Node.js、Bun 并列的三大 JavaScript 运行时之一。
Deno 内置了 TypeScript 编译器、代码格式化工具(deno fmt)、代码检查工具(deno lint)、测试运行器(deno test)、包管理(deno add)和任务运行器(deno task),提供了一个无需额外配置的一体化开发工具链。它原生支持 Web 标准 API(如 fetch、WebSocket、URL、TextEncoder),可以从 URL 直接导入模块,完全拥抱 ECMAScript 模块规范。Deno 2.x 系列进一步强化了与 Node.js/npm 生态的兼容性,使其能够无缝运行数百万个现有的 npm 包。此外,Deno 还推出了 Deno Deploy 云端部署服务和 deno desktop 桌面应用构建功能,使其成为一个覆盖从开发到部署全流程的综合性平台。
核心特点:
- 安全优先:默认无文件系统、网络、环境变量等权限,需显式通过
--allow-* 标志授权 - 原生 TypeScript 支持
- 单一可执行文件:Deno 是一个独立的二进制文件,无依赖即可运行
- 内置全栈工具链
- Web 标准兼容:全面支持
fetch、WebSocket、Web Streams、Web Crypto 等 API - Node.js 生态系统兼容:可直接导入和运行 npm 包,支持 package.json 和 node_modules
- 桌面应用开发:通过
deno desktop 从 JavaScript/TypeScript 构建原生桌面应用 - Deno Deploy:全球边缘网络部署,支持 Serverless 函数和持久化存储
2. v2.9.4 版本亮点
此版本汇集了约 20 位贡献者的 65 条提交,是一次聚焦稳定性修复和性能改进的补丁发布。
本次更新主要包含以下改进:
桌面应用开发增强:为 React Router 项目启用了 --hmr(热模块替换)支持,改进了 BrowserWindow 绑定的可输入性和惰性操作升级后的绑定包装器保留。
Node.js 兼容性提升:为 Buffer.indexOf/lastIndexOf/includes 添加了 byteLength/length 参数支持;在 crypto.createCipheriv 中支持原始 ChaCha20 密码;通过 Web Locks API 实现了 worker_threads.locks;改进了 node:sqlite 的 backup() 和 deserialize() 参数校验。
V8 引擎升级:将 JavaScript 引擎升级至 V8 150.2.0,带来更优的执行性能和最新的 ECMAScript 特性支持。
性能优化:避免了惰性 ESM 快照源的重复复制,混淆内部源标识符以减小快照体积,压缩了 AppImage 运行时,对热路径内部哈希映射使用了更快的 FxHash 算法。
稳定性修复:修复了 npm 包管理、HTTP/2 流背压、WebTransport、动态导入、Windows 资源处理、DNS 查询重试等数十项问题,全面提升了运行时的稳定性。
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/223Y(内含 deno-aarch64-apple-darwin.zip、README 中英对照、发布说明中英对照和 LICENSE)。
macOS安装deno-v2.9.4(deno-aarch64-apple-darwin).zip├── deno-aarch64-apple-darwin.zip├── macOS安装deno-v2.9.4(deno-aarch64-apple-darwin).pdf├── README/│ ├── README.md│ └── README-中文版.md├── 发布说明/│ ├── RELEASE-NOTES.md│ └── RELEASE-NOTES-中文版.md└── LICENSE
4. 快速开始
解压整合包根目录中的 deno-aarch64-apple-darwin.zip,将得到的 deno 可执行文件移动到你习惯的目录(如 /usr/local/bin/),即可在终端中使用 deno 命令。
如果你的 Mac 配备了 Apple Silicon(M1/M2/M3/M4 系列芯片),建议将 deno 放置在 ~/bin/ 目录下并确保该目录已在 PATH 中,或直接放入 /usr/local/bin/。
常用命令
# 验证安装deno --version# 运行一个 TypeScript/JavaScript 文件deno run app.ts# 创建简单的 HTTP 服务器deno eval "Deno.serve(() => new Response('Hello, world!'))"# 允许网络权限运行deno run --allow-net server.ts# 格式化代码deno fmt# 运行测试deno test# 安装依赖deno add npm:express