安装 Deno v2.4.0
curl -fsSL https://deno.land/install.sh | sh
// Use .ts files with no compile step:
import type { Person } from "./types.ts";
import { Permissions } from "./permissions.ts";
// Author TypeScript with zero setup or configuration:
export interface User extends Person {
id: number;
permissions: Permissions[];
}

内置现代化语言特性
跳过 API 列表WorkerMessageEventWritableStreamDefaultControllerstructuredCloneDecompressionStreamCompressionStreamsetIntervalPromiseRejectionEventclearIntervalBlobfetchbtoalocalStorageNavigatorclearTimeoutReadableStreamDefaultControllerResponse.json()EventTargetcachesCacheStorageMessagePortLocationDedicatedWorkerGlobalScopeWebSocketqueueMicrotaskCryptoKeyErrorEventPerformanceMarkWorkerNavigatorReadableStreamBYOBRequestTextDecoderWorkerLocationTextEncoderStreamReadableByteStreamControllerTransformStreamFileCustomEventEventperformanceDOMExceptionReadableStreamBYOBReadercryptoCloseEventURLPatternPerformanceEntryconsoleglobalThis.close()CryptoRequestReadableStreamStorageWebAssemblyTextDecoderStreamURLSearchParamsProgressEventFileReaderByteLengthQueuingStrategyBeforeUnloadEventTextEncoderatobglobalThis.alert()setTimeoutPerformanceHeadersWorkerGlobalScopeAbortSignalFormDataResponseMessageChannelURLBroadcastChannelTransformStreamDefaultControllerSubtleCryptoCacheWritableStreamAbortControllerReadableStreamDefaultReaderPerformanceMeasureWritableStreamDefaultWriter
内置工具
构建、测试和部署应用程序所需的基本工具都已开箱即用。
测试运行器
Deno 提供测试运行器和断言库,作为运行时和标准库的一部分。
了解更多// server_test.ts
Deno.test("1 + 2 = 3", () => {
const x = 1 + 2;
console.assert(x == 3);
});
$ deno test server_test.ts
独立可执行文件
即刻从您的 Deno 程序创建独立可执行文件。它甚至支持跨平台编译!
了解更多Deno.serve(req => new Response("Hello!"));
$ deno compile --allow-net server.ts
Compile file:///tmp/server.ts to server
$ ./server
Listening on http://localhost:8000/
代码格式化器
Deno 内置的代码格式化器(基于 dprint)可以美化 JavaScript、TypeScript、JSON 和 Markdown 文件。
了解更多$ deno fmt --line-width=120
默认安全
除非明确启用,否则 Deno 运行的程序无权访问文件、网络或环境。
其他运行时
$ node random.jsExecuting random.js...🚨 File system compromised!
Deno
$ deno random.js⚠️ Deno requests write accessAllow? [y/n/A]$ n❌ Denied write accessExited
server.ts
import express from "npm:express@4";
const app = express();
app.get("/", function (_req, res) {
res.send("hello");
});
app.listen(3000, () => {
console.log("Express listening on :3000");
});
$ deno run --allow-net --allow-read --allow-env server.ts

越大越好
吞吐量,每秒请求数
Deno
200059Node
95879为云而生
无论您是使用我们闪电般的 Deno Deploy 部署,还是部署到其他云提供商,Deno 都能简化您的体验。
Deno 运行于
使用 Deno 云产品更进一步
基于 Deno 构建的产品,帮助您轻松安全地大规模部署 TypeScript 和 JavaScript。
Deno Subhosting
面向寻求安全运行用户代码的 SaaS 公司
- 安全沙盒函数
- 自动伸缩和预配
- 全球分布式
- 通过简单 API 管理
快速构建网站
将路由编写为您已经熟悉和喜爱的 JSX (或 TSX) 组件,Fresh 默认处理动态服务器端渲染。
/routes/index.tsx
export default function HomePage() {
return (
<div>
<h1>HTML fresh from the server!</h1>
<p>
Delivered at
{new Date().toLocaleTimeString()}
</p>
</div>
);
}
/islands/Counter.tsx
import { useSignal } from "@preact/signals";
export default function Counter() {
const count = useSignal<number>(0);
return (
<button onClick={() => count.value += 1}>
The count is {count.value}
</button>
);
}
更少的 JavaScript
基于 Island 的架构让您只选择所需的 JavaScript,从而实现绝对最小的运行时开销。
我们充满活力的社区
“我就知道会这样!Deno 正在真正打造最快、最安全、最个性化的 JS 运行时!”
“Deno 的安全模型非常适合这种脚本。运行来自互联网上某个陌生人的脚本?它只请求对当前工作目录的读取权限,然后请求对它要写入的文件的访问权限。👏”
“我真的认为 Deno 是最简单、最强大的 JS 运行时。URL 导入被低估了。”
“Deno 中的 npm 包 👀 对于我们这些在边缘构建的人来说,这是一个令人兴奋的进展。”
“Deno 这玩意儿真快,毋庸置疑。#denoland”
“Deno:我必须使用浏览器 API,因为它们无处不在,而 Web 是我的目标运行时。努力在服务器端模仿浏览器 API 的运行时让我最省心。”
“Deno 非常棒。我正在用它来提升 JavaScript 和 TypeScript 的水平,它是最简单的入门方式。它的工具比所有常见的 Node 栈简单 100 倍。”