Deno

是一个 安全的 JavaScriptTypeScript 运行时环境。

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

  1. 默认安全设置。除非 显式开启,否则没有文件、网络,也不能访问运行环境。
  2. 天生支持 TypeScript。
  3. 只有一个单一的可执行文件。
  4. 自带实用工具,例如依赖检查器 (deno info) 和代码格式化工具 (deno fmt)。
  5. 有一套经过审核(审计)的标准模块, 确保与 Deno 兼容: deno.land/std

安装 Deno

Deno 没有外部依赖,以单一可以执行文件发布。你可以 使用下面的安装程序安装 Deno,或者先从 版本发布页面下载已发布的二进制可执行文件。

使用 Shell (Mac, Linux):

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

使用 PowerShell (Windows):

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

使用 Homebrew (Mac):

$
brew install deno

使用 Chocolatey (Windows):

$
choco install deno

使用 Scoop (Windows):

$
scoop install deno

使用 Cargo通过源码构建并安装,

$
cargo install deno

参见 deno_install 了解更多安装方式。

Deno 入门

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

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

或者来个复杂的:

import { serve } from "https://deno.land/std@0.67.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 源码一起存放于 denoland/deno 仓库中。

这些标准模块位于 deno.land/std 并与所有其它与 Deno 兼容的 ES 模块一样通过 URL 分发 。

第三方模块

Deno 可以从 web 上的任何位置导入(import)模块,例如 GitHub、 个人 web 服务器或类似 pika.devjspm.io的 CDN。

为了便于使用第三方模块,Deno 提供了一些 内置工具,例如 deno infodeno doc。deno.land 网站上也提供了一个 web 界面 用于查看模块的文档。你可以在 doc.deno.land网址上找到。

deno.land 网站还为兼容 Deno 的 ES 模块提供了一个简单的公共托管服务。可以在 deno.land/x网址上找到。