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 举报,一经查实,本站将立刻删除。