Deno 是一个用来运行 JavaScript 和 TypeScript 代码的运行时(runtime)——通俗说,它就是「让程序跑起来的引擎」:负责解读你的代码、管理内存、对接操作系统,让代码在电脑或服务器上真正执行。它最典型的用途是写 Web 服务器和后端服务,几行代码就能起一个网站后端。这个项目在 GitHub 上已有超过 10.8 万 star,最新版本 v2.9.5 于 2026 年 8 月发布,是目前 JavaScript 生态里最受关注的「下一代」运行时之一。这里说的 TypeScript 是 JavaScript 的加强版,多了类型检查,写稍大的项目更不容易出错。

Deno 是干嘛的

用大白话说,Deno 解决的是「用什么工具跑 JavaScript 后端代码」这个问题。过去十几年,这个问题的标准答案是 Node.js;Deno 就是对标 Node.js 的现代替代品,目标是把服务端开发变得更干净、更安全、更少配置。

它适合三类人:

  • 想用 JavaScript 或 TypeScript 写后端服务的开发者,全栈工程师和刚入门的新手都算;
  • 希望装好就能用、不想折腾编译工具链的人——Deno 天生内置 TypeScript,不需要额外配置;
  • 在意安全性的开发者——Deno 默认不给程序任何网络或文件读写权限,只有你明确批准才放开。

Deno 和 Node.js 的三个主要区别

第一,开箱即用的 TypeScript。用 Node.js 跑 TypeScript 需要先安装编译工具、写配置文件;Deno 直接就能运行 .ts 文件,省掉一整条工具链。

第二,默认安全。Deno 程序默认在一个沙箱里运行——沙箱可以理解成一个隔离的盒子,程序在盒子里的动作都受限:读不了你的文件、连不了外网,除非你在启动命令里显式授权。比如 deno run --allow-net server.ts 里的 --allow-net,就是「允许这个程序联网」的授权开关。这相当于把行业里「默认放开、事后设防」的做法倒了过来。

第三,现代内置能力。Deno 内置了 Deno.serve 这类现代化的 Web 服务 API、一个官方标准库,以及 JSR 包注册表——注册表可以理解为 JavaScript 和 TypeScript 程序的「应用商店」,用一条命令就能安装别人写好的代码包。

三分钟跑起第一个服务器

新建一个 server.ts 文件,写入下面三行:

Deno.serve((_req) => {
  return new Response("Hello, world!");
});

然后运行 deno run --allow-net server.ts,浏览器打开 http://localhost:8000 就能看到响应。

安装 Deno 同样简单:Mac 和 Linux 上一条 curl 命令,Windows 上一条 PowerShell 命令,也可以走 Homebrew、Chocolatey、WinGet、Scoop 这些常见包管理器。

生态配套

Deno 周围还有三样配套:

  • Deno Deploy:官方云平台,把 Deno 程序直接部署到全球各地的边缘节点,访问更快;
  • 标准库(jsr.io/@std):官方维护的常用工具集,处理日期、文件、加密等常见任务,不用重复造轮子;
  • JSR:面向现代 JavaScript 和 TypeScript 的开源包注册表,托管和安装第三方代码库。

结论

Deno 是一个内置 TypeScript、默认安全、开箱即用的 JavaScript 运行时,最适合想用 JS/TS 写后端、又不想要 Node.js 那套配置和安全隐患的开发者。它能否全面取代 Node.js,还要看生态的后续发展;但作为「更安全的现代替代品」,值得每个写后端的人上手试一试。