deno 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。
谷歌:关于 Rust 的谣传和事实 人大毕业生盗取全校学生信息建颜值打分网站,已被刑拘 员工窃取公司游戏源代码,半年盈利 1.5 亿 美团以 20.65 亿元收购光年之外 开源中国完成 B+ 轮战略融资,股份重组成为完全中立平台 美国将限制中国使用亚马逊、微软等提供训练 AI 模型的云服务 基于 NT 架构的全新 QQ Windows 版正式发布 WhatsApp 弃用基于 Electron 框架构建的桌面应用程序 资金严重短缺,又一流行开源项目宣布停止功能开发 Linus Torvalds 动手改进 Linux 用户模式堆栈扩展