Deno

安全的 JavaScriptTypeScript 运行时.

v1.6.3

Deno 是一个简单、现代且安全的 JavaScript 和 TypeScript 运行时,基于 V8 引擎并采用 Rust 编程语言构建。

  1. 默认安全。除非显示开启,否则没有文件、网络、环境变量的访问权限。
  2. 支持开箱即用的 TypeScript。
  3. 只发布单一的可执行程序。
  4. 内置了实用工具,例如依赖检查 (deno info) 和代码格式化 (deno fmt)。
  5. 自带一套经过审查 (安全审计) 的标准模块,并保证了代码与 Deno 完全兼容: deno.land/std

安装

Deno 没有外部依赖,只有一个单独的可执行文件。你可以使用下面的安装器来安装,也可以从 GitHub Releases 页面下载已经编译好的二进制可执行程序。

Shell (Mac, Linux):

$
curl -fsSL https://x.deno.js.cn/install.sh | sh

PowerShell (Windows):

$
iwr https://x.deno.js.cn/install.ps1 -useb | iex

Homebrew (Mac):

$
brew install deno

Chocolatey (Windows):

$
choco install deno

Scoop (Windows):

$
scoop install deno

使用 Cargo 从源码构建并安装:

$
cargo install deno

查看 denocn/deno_install 以了解更多的安装选项。

起步

试着运行下面的简单程序:

$
deno run https://deno.land/std/examples/welcome.ts

或者再运行一个复杂点的:

import { serve } from "https://deno.land/std@0.83.0/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {
req.respond({ body: "Hello World\n" });
}

你可以在 参考手册 中找到“深入介绍”、“环境搭建”、“代码示例”等内容。

运行时文档

Deno 的基本运行时文档可以在 doc.deno.land 网站找到。

Deno 自带的参考手册 包含了关于 Deno 运行时更复杂功能的深入解析, Deno 内部功能的详细信息,如何在您自己的应用程序中嵌入 Deno 以及如何使用 Rust 编写 Deno 插件。

该手册还包含有关 Deno 提供的内置工具的信息。

标准模块

除了提供 Deno 运行时之外,Deno 还提供了标准模块,这些模块由 Deno 核心团队维护和审核以保证可使用特定的 Deno 版本。这些模块和 Deno 的源码一起放在 denoland/deno 仓库。

这些标准模块托管在 deno.land/std 上,并且同所有其他的兼容 Deno 的 ES 模块一样通过 URL 进行分发。

第三方模块

Deno 可以从网络上的任何位置导入模块,例如 GitHub、个人网站或 CDN,例如 Skypackjspm.iojsDelivr

为了更方便地使用第三方模块,Deno 提供了一些内置的工具,如 deno infodeno doc。 deno.land 还提供用于查看模块文档的 Web UI。位于 doc.deno.land

deno.land 还为用于 Deno 的 ES 模块提供简单的公共托管服务。 位于 deno.land/x