微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Deno 1.35 发布:构建 Web 服务器的快速便捷方式

2023 年 7 月 5 日,Deno 团队发布了 Deno 1.35 版本。此次更新的目的是使程序开发尽量简单,因此运行时内置强大的工具链、原生 TypeScript 支持和 Web 标准 API,可以跳过配置和学习新 API,并立即开始工作。

此次版本更新带来如下改进:

Deno.serve() API 现已稳定,提供一种快速便捷的方式来构建 Web 服务器。Deno.serve() 允许开发人员使用一句代码设置 Web 服务器:

Deno.serve((req) => new Response("hello world"));

相比之前的 Deno.serveHttp() API,Deno.serve() API 使用 Web 标准的 Request 和 Response 对象,可无缝配合 fetch()、Web 流等其他标准 API。

此外,Deno.serve() 提供可观的性能改进。Deno 团队的基准测试显示,使用 Deno.serve() 构建的 Hello World 服务器的吞吐量是 Node.js 服务器的两倍,具有更好的尾部延迟和更高效的内存使用。

改进 npm 支持度。Deno 的 npm 兼容性允许使用熟悉的 npm 包,降低供应链风险。

此次月度版本更新对 http、https 和 zlib 模块的兼容性进行了大幅改进。下面列出了对 Node.js 内置模块的完整更改:

fs.FileHandle

http.ClientRequest.upgrade

http.IncomingMessageForClient.complete

http2

https.createServer

process.reallyExit

v8.setFlagsFromString

zlib.brotliCompress

zlib.brotliCompressSync

zlib.brotliDecompress

zlib.brotliDecompressSync

zlib.createbrotliCompress

zlib.createbrotliDecompress

每次发布都对更多 npm 包进行支持。这次发布对这些 API 的改进使得以下重要 npm 包在 Deno 中可以正常工作:

npm:astro

npm:aws-sdk

npm:axios

npm:discord.js

npm:node-fetch

npm:parcel

npm:puppeteer

npm:redis

下个月,Deno 团队将专注于使 @grpc/grpc-js、google-cloud-node 以及各种数据库驱动程序在 Deno 中工作。如果发现某些 npm 包无法工作,请在 denoland/deno 仓库提交 issue 报告。

此外,Deno 1.35 还包括 Deno 命名空间的 API 添加、Web API 更改、语言服务器改进以及标准库的变更等其他许多改进和修复。

最终,Deno 1.35 配备了 V8 11.6 和 TypeScript 5.1.6。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐