Deno Deploy Beta 3
Deno Deploy 是一款多租户 JavaScript 引擎,运行在 全球 28 个区域。该服务将云基础设施与 V8 虚拟机深度集成,允许用户快速编写分布式 HTTPS 服务器脚本。这种新颖的“无服务器”系统从根本上为现代 JavaScript 编程而设计。
今天我们发布了 Deploy Beta 3。这是未来几个月内将发布的一系列 Beta 版本中的第三个。每个版本都会添加新功能并完善编程模型。这些版本将最终在预计将于 2021 年第四季度发布的正式发布公告中达到顶峰。
在过去的一年里,我们一直在悄悄地设计这项托管服务,以补充与 开源 Deno CLI 的工作流程。Deploy 不在 AWS Lambda 上运行,也不使用 Cloudflare Workers;这是一个采用独特设计的新系统。我们鼓励人们忽略最初粗糙的 UI,探索这个新的 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。
游乐场
Deploy 已经支持直接从 Github 托管代码。游乐场功能允许快速测试和部署一次性想法。即使游乐场很小,易于部署,但它们拥有 Deno Deploy 的全部功能:游乐场中的部署与所有其他 Deno Deploy 项目一样可扩展且分布在全球。
Deploy Playground 编辑器有意简化。较大的程序应在 Github 中管理。事实上,在设置页面中有一个选项,当您觉得某个游乐场已超出简单在线编辑器的范围时,可以将其导出到 Github 存储库。
游乐场默认情况下是私有的,但可以设置为公开,以启用共享。以下是一些供您浏览的游乐场
- 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
公共游乐场也可以通过使用 <iframe>
嵌入到 HTML 页面(如博文或文档网站)中。访问 https://embed.deno.com/ 获取您游乐场的嵌入代码段。我们已经在 Deno Deploy 文档中使用它,现在许多代码段可以直接编辑并部署到您的帐户。
组织
到目前为止,项目只能由单个用户拥有。在 Beta 3 中,我们添加了组织,允许团队成员共享访问权限。
文档可在 https://deno.org.cn/deploy/docs/organizations/ 获取。
接下来是什么
我们将继续在即将发布的 Beta 版本中改进 Deploy,最终在预计将于 2021 年第四季度发布的 GA 版本中达到顶峰。预计下一个版本将解决长期以来要求的缓存功能、CLI 互操作性和更好的入门流程。