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 包,降低供应链风险。

此次月度版本更新对 httphttpszlib 模块的兼容性进行了大幅改进。下面列出了对 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-jsgoogle-cloud-node 以及各种数据库驱动程序在 Deno 中工作。如果发现某些 npm 包无法工作,请在 denoland/deno 仓库提交 issue 报告。

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

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYfnYkTo' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片