文章目录
- 1. Deno 简介
- 2. v2.9.4 版本亮点
- 3. 获取安装包
- 4. 快速开始
- 常用命令
- Hello World 示例
1. Deno 简介
Deno 是由 Ryan Dahl(Node.js 之父)于 2018 年创建的现代 JavaScript、TypeScript 和 WebAssembly 运行时。Ryan Dahl 在创建 Node.js 十年后,重新审视了当初的设计决策,以"安全优先、原生 TypeScript 支持、现代化工具链"为核心原则,使用 Rust 语言和 V8 引擎从零构建了 Deno。截至 2026 年,Deno 在 GitHub 上已获得超过 107,000 Stars,跻身顶级开源项目之列,被 Slack、Netflix、Google 等企业采用。
Deno 的核心特色:开箱即用的 TypeScript 支持,无需额外配置;安全的权限模型,默认禁止文件、网络和环境变量访问,需要显式授权;内置工具链包括格式化(deno fmt)、代码检查(deno lint)、测试运行器(deno test)等;不依赖 node_modules 或 package.json,使用 URL 和导入映射管理依赖;原生支持 Web 标准 API(fetch、WebSocket、Streams 等)。
Deno 2.9 版本带来了革命性的deno desktop功能——可以使用纯 JS/TS 构建原生桌面应用,输出跨平台二进制文件,无需 Electron 或 Tauri。同时支持 ESM 直接导入 CSS 文件、Node.js 兼容性增强(目标版本升级至 Node 26)、供应链安全升级(默认启用 24 小时最小发布年龄检查)等重磅特性。
2. v2.9.4 版本亮点
该版本汇集了多位贡献者的 50 余条贡献,聚焦于稳定性修复和性能优化。
新特性:
- 升级 V8 引擎至 150.2.0,带来更优的 JavaScript 执行性能
- 为 React Router 桌面应用启用
--hmr(热模块替换)支持 - 在 crypto 模块中新增原始 chacha20 加密算法支持
- 为 Buffer 的 indexOf/lastIndexOf/includes 方法新增 byteLength/length 参数
Node.js 兼容性增强:
- 通过 Web Locks API 实现 worker_threads.locks
- 修复 node:sqlite 的 backup() 和 deserialize() 参数校验
- 改进 DNS 查询重试机制(每次尝试超时后自动重试)
- 修复 http2 流写入背压控制、文件读取和会话清理
桌面应用(deno desktop)修复:
- 修复 Windows 编译资源 SizeOfImage 问题(升级 libsui 至 0.16.4)
- BrowserWindow 绑定支持类型化操作
- 修复延迟 op 升级后绑定包装器的保留问题
- 从应用名称中正确去除运行时扩展名
性能优化:
- 避免重复延迟 ESM 快照源,减少内存占用
- 混淆内部源标识符以优化快照体积
- 压缩打包的 AppImage 运行时
- 对热内部哈希映射使用 FxHash 提升查找速度
其他修复:
- Web Cache 存储位置修正、FFI 权限校验增强
- npm 包从配置的注册表下载而非硬编码 registry.npmjs.org
- 修复符号链接相关的多个边界情况(node_modules、npm 包、锁文件)
- WebTransport 多项稳定性修复(数据报设置、握手帧缓冲、URL 解析、证书校验)
3. 获取安装包
如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/223Z(内含 deno-x86_64-pc-windows-msvc.zip、README 中英对照、发布说明中英对照和 LICENSE)。
Windows安装deno-v2.9.4(deno-x86_64-pc-windows-msvc).zip ├── deno-x86_64-pc-windows-msvc.zip ├── Windows安装deno-v2.9.4(deno-x86_64-pc-windows-msvc).pdf ├── README/ │ ├── README.md │ └── README-中文版.md ├── 发布说明/ │ ├── RELEASE-NOTES.md │ └── RELEASE-NOTES-中文版.md └── LICENSE4. 快速开始
解压整合包根目录中的deno-x86_64-pc-windows-msvc.zip,将得到的deno.exe放入系统 PATH 环境变量所包含的目录中(或添加到 PATH),即可在命令行中使用deno命令。
常用命令
# 查看版本deno--version# 运行 TypeScript 文件deno run main.ts# 启动一个 Web 服务器deno run --allow-net server.ts# 格式化代码denofmt# 运行测试denotest# 创建桌面应用(2.9+)deno desktop main.tsHello World 示例
创建server.ts:
Deno.serve((_req:Request)=>{returnnewResponse("Hello, world!");});运行:
deno run --allow-net server.ts访问 http://localhost:8000 即可看到结果。