Deno Deploy Beta 3
Deno Deploy 是一个多租户 JavaScript 引擎,在全球 28 个地区运行。该服务将云基础设施与 V8 虚拟机深度集成,使用户能够快速编写分布式 HTTPS 服务器脚本。这个新颖的“无服务器”系统是专为现代 JavaScript 编程从零开始设计的。
今天我们发布 Deploy Beta 3。这是未来几个月将发布的一系列测试版中的第三个版本。每个版本都将增加新功能并完善编程模型。这些版本将最终在 2021 年第四季度发布正式版本。
在过去的一年里,我们一直在悄悄地设计这项托管服务,以补充 开源 Deno CLI 的工作流程。Deploy 既不在 AWS Lambda 上运行,也不使用 Cloudflare Workers;这是一个具有独特设计的新系统。我们鼓励大家忽略初期粗糙的用户界面,探索这个新的 JavaScript 运行时。
Deploy 的目标是成为托管现代服务器端 JavaScript 的最佳平台。
新 API
出站 TCP 和 TLS 连接
现在可以使用 Deno.connect
和 Deno.connectTls
进行原始出站 TCP 和 TLS 连接。这开启了连接到具有非 HTTP 接口的数据库的可能性,例如 Postgres、MySQL 和 MongoDB。
const conn = await Deno.connect({
hostname: "deno.land",
port: 80,
transport: "tcp",
});
await conn.write(new TextEncoder().encode("GET / HTTP/1.0\r\n\r\n"));
DNS 解析
Beta 3 通过 Deno.resolveDns
API 支持 DNS 解析。
const ips = await Deno.resolveDns("deno.land", "A");
URLPattern
URLPattern API 已于 10 月 19 日在 Chrome 95 中推出,现在 Deno Deploy Beta 3 也已支持。此 API 与服务器端程序特别相关,因为它为 HTTP 路由逻辑提供了方便的 DSL。
在 Deno Deploy Playground 中试用
文档和示例可在 MDN 上查阅:https://mdn.org.cn/en-US/docs/Web/API/URLPattern。
Playground
Deploy 已支持直接从 Github 托管代码。Playground 功能允许快速测试和部署一次性想法。尽管 Playground 小巧且易于部署,但它们拥有 Deno Deploy 的全部功能:Playground 中的部署与其他所有 Deno Deploy 项目一样可扩展且全球分布式。
Deploy Playground 编辑器特意设计得非常简单。较大的程序应在 Github 中管理。实际上,当您觉得 Playground 超出了简单的在线编辑器的能力时,设置页面中有一个选项可以将其导出到 Github 仓库。

Playground 默认是私有的,但可以设置为公开以启用共享。这里有一些可供浏览的 Playground:
- https://dash.deno.com/playground/nanossr
- https://dash.deno.com/playground/example-oak
- https://dash.deno.com/playground/example-router
- https://dash.deno.com/playground/example-sift
公共 Playground 也可以通过使用 <iframe>
嵌入到 HTML 页面(如博客文章或文档网站)中。访问 https://embed.deno.com/ 以获取您的 Playground 嵌入代码片段。我们已在 Deno Deploy 文档中利用此功能,其中许多代码片段现在可以直接编辑并部署到您的帐户。
组织
到目前为止,项目只能由单个用户拥有。在 Beta 3 中,我们添加了组织功能,允许团队共享访问。

文档可在 https://deno.org.cn/deploy/docs/organizations/ 查阅。
下一步
我们将在未来的 Beta 版本中继续改进 Deploy,最终在 2021 年第四季度发布 GA 版本。预计下一个版本将解决长期要求的缓存功能、CLI 互操作性以及更好的入门流程。