denoland/deno
开发工具面向 JavaScript、TypeScript 与 WebAssembly 的安全运行时,常用于编写和运行服务器等应用。
Deno 是一个 JavaScript、TypeScript 和 WebAssembly 运行时,基于 V8、Rust 与 Tokio 构建。它面向希望免去额外构建步骤或包管理配置、直接编写并运行 JS/TS 的开发者,README 称它最常用于构建 Web 服务器。它是一个单独安装的程序,因此既适合脚本、本地服务和命令行工具,也适合长期运行的服务端程序。
实际用法上的变化
最小的 Deno 服务器就是一个 TypeScript 文件:调用 Deno.serve 并返回响应。安装 Deno 后,README 示例用 deno run --allow-net server.ts 运行,并在 8000 端口监听。TypeScript 直接被运行,这个简单场景不需要 tsc 步骤或 tsconfig。
命令行也体现了运行时的权限模型:--allow-net 需要显式传入,而不是默认放开。README 用 "secure defaults" 描述这一设计;其中的 hello-world 服务器没有安装依赖的步骤,因为它不需要依赖。规模更大的项目可查阅运行时的文档,项目还指向 JSR 作为包来源,以及 @std 作为官方维护的常用工具集。
安装方式
README 给出了 macOS 和 Linux 的 shell 安装脚本、Windows 的 PowerShell 脚本,以及包管理器途径:macOS 上的 Homebrew;Windows 上的 Chocolatey、WinGet 和 Scoop。它还链接到文档中更完整的安装列表,以及贡献指南中的源码构建说明。除 macOS、Linux 和 Windows 外,这些路径没有记录其他平台。
不适合的情况
本 README 介绍的是运行时本身,Deno Deploy 和生态细节位于单独的文档及项目主页。它也没有承诺现有 Node.js 代码可以原样运行:提供材料描述的是 Deno 自己的 API(Deno.serve)和安装、包来源(JSR),因此它与某个 Node 项目的依赖和构建假设是否兼容,本文无法确认。同样,提供材料没有给出最低 Deno 版本或性能指标;README 是快速入门,不能支撑关于速度或生产就绪性的判断。
背景
2020 年一个关于把 TypeScript 编译成独立可执行文件的 Hacker News 讨论获得 657 分,评论者将该打包方式与 Node 生态的 Vercel pkg 比较;其中一位评论者表示,发布单一用途的二进制文件时更喜欢 TypeScript 而不是 Go 讨论。这是对一个 2020 年功能的讨论,并不反映当前运行时的状况。Deno 采用 MIT 许可证,依赖项和 Deno Deploy 的许可证条款应分别核对,不能从运行时的许可证直接推断。
本文由 AI 根据项目 README 生成,更新于 2026年10月30日,以项目官方文档为准。