Node.js技术周刊 2026年第20周
本周Node生态迎来重磅更新:Node.js 26.0正式发布,默认启用Temporal API,将于10月成为LTS;TypeScript 7.0 Beta亮相,Go原生移植带来10倍性能提升;Bun持续快速迭代,v1.3.14新增图片处理API和HTTP/3支持;Rolldown 1.0稳定版发布,提供esbuild级速度;pnpm 11.0、PM2 7.0、Syncpack 15.0等工具也迎来重要更新。(98字)
🔥 头条
将Claude或Cursor接入Node应用的生产错误
AppSignal的MCP服务器将错误、堆栈跟踪和部署上下文提供给你的AI编辑器。AI起草修复方案,你负责审查和发布。提供30天免费试用。
📖 文章
Node.js 26的新特性
我们上周介绍了Node 26的发布,但这是一份实用指南,带你了解在这个“看起来没有添加太多功能”的版本中容易被忽略的亮点。v26将于今年10月成为LTS版本,所以这里的每一项都是你年底前可以在生产环境中使用的。
逐步修复JavaScript可观测性:一次一个库
Sentry团队一直在研究一种方法,用基于运行时诊断通道的方法替代为JavaScript APM工具提供支持的猴子补丁。困难的部分在于让流行的软件包加入进来,但这正在发生。
你的递归在欺骗你
ES2015(又称ES6)规定了尾调用优化,尽管V8从未发布它。“尾递归形态不会自动使JavaScript堆栈安全。”Koos逐步分析了递归形式与运行时行为之间的差距,展示了保持递归风格的“蹦床”模式,避免堆栈溢出。
Counterfact:OpenAPI驱动的API模拟器
指向OpenAPI规范,即可获得一个实时的、有状态的Node服务器,带有类型化的处理器、热重载和REPL以在运行时控制行为。你可以在几秒钟内使用npx试用。GitHub仓库。
pnpm 11.1添加更多新命令
pnpm bugs在浏览器中打开软件包的错误跟踪器,pnpm audit signatures根据密钥验证ECDSA注册表签名,并且有一个新的gh:前缀用于从GitHub Packages注册表安装软件包。
wf:查找Web平台功能的CLI
一个用于查找Web平台功能支持、错误和文档的CLI工具,来自Microsoft的Patrick Brosset。你可以安装并作为wf运行,或使用npx临时使用,例如:npx web-features-cli “fetch api” -a
Memetria K/V:高效的Redis和Valkey托管
Memetria K/V为Node.js应用托管Redis OSS和Valkey,具有大key跟踪和详细分析功能。
伦敦Node.js协作峰会报告
Node团队上个月在伦敦的最新面对面峰会讨论了什么,包括Node的新发布时间表(从Node 27开始)、James Snell的可迭代流API(又称node:stream/iter)、OpenTelemetry支持、如何处理AI对Node的贡献、libuv v2等更多内容。
Rolldown 1.0:高性能JS打包器
它稳定、快速、生产就绪,你可以获得esbuild般的速度和Rollup插件兼容性。最近的Node版本已经原生处理.ts文件、ESM和JSON导入,所以Rolldown的真正优势在于发布时,当你想要尽可能小的tree-shaken运行时产物时。
为什么迁移到Valibot?
Valibot是一个轻量、模块化的TypeScript模式验证库,是Zod等的替代品。v1.4.0刚刚发布。
过时的API响应始于过时的数据源
TimescaleDB扩展Postgres以对实时数据进行分析。无需流水线,无需第二个数据库。提供1000美元信用额度开始使用。
opentype.js:读写OpenType字体
直接访问字母形式。具有广泛的WOFF、OTF和TTF支持,支持连字、字距调整和表情符号。除了为文本创建路径外,你还可以从头开始创建和保存自己的自定义字体。GitHub仓库。
JavaScript中真正的新特性(以及接下来的计划)
如果你不阅读规范或关于新语言特性的无尽文章,这是一个很好的追赶方式。大多数特性在Node中都受支持,如Promise.try、Set union/intersection/difference、Array.fromAsync和using,其他特性即将落地,如Math.sumPrecise和Map.getOrInsert。
P99是40ms,直到分析查询来袭
分析查询不应该耗尽你的延迟预算。第二个数据库会增加流水线、同步延迟和漂移。TimescaleDB扩展Postgres以对实时数据进行快速分析。超表、95%压缩、连续聚合。免费开始构建。
停止猜测你的Next.js应用在哪里崩溃[研讨会]
跨客户端和Node运行时追踪Next.js错误回到其源头。免费研讨会,立即注册。
aube:一个新的Node.js包管理器
是的,又一个!值得注意的是它来自mise的开发者,mise是一个让管理多种语言变得容易得多的工具。aube的卖点是原始性能和作为直接替代品。它的默认值也专注于安全性。
编写更好的提示词
加入GitHub的Sabrina Goldfarb,参加这个详细的视频课程,学习用AI生成更高质量的代码。学习跨工具一致工作的实用提示技术,将你的项目想法变为现实。
使用.NET Native AOT编写Node.js插件
你现在可以用C#等.NET语言编写原生Node插件。Native AOT将程序编译为共享库(或可执行文件),可以暴露N-API入口点供Node调用,就像C/C++扩展一样。
TypeScript 7.0 Beta:10倍更快的TypeScript编译器
首个由Go驱动的原生TypeScript移植的beta版,拥有“约10倍”的性能。TypeScript 6.0作为升级过程中的过渡版本仍然重要,因为TS 7.0共享6.0的默认配置更改,且6.0的弃用现在是硬错误。还有更改。
构建在生产中不会崩溃的持久AI代理(网络研讨会)
学习开源4层堆栈,使用Agentspan跨LangGraph、OpenAI和Google SDK运行持久AI代理。
Optique 1.0:类型安全的组合式CLI解析器
构建具有类型安全、类型推断和内置shell补全支持的CLI可组合解析器,加上配置文件集成和从相同定义生成man页面。v1.0是首个稳定版本,Hong将其与Commander.js进行比较,并解释为什么你会使用Optique。
DocMD:从Markdown构建生产就绪的文档
一个由Node驱动的零配置文档站点生成器,专注于生成精简、快速的输出(它自己的文档就是一个很好的例子)。它内置了i18n和版本控制,并且从本周开始,有一个deploy命令可以为Docker、Nginx和Caddy生成就绪可部署文件。
rocksdb-js:Node的新RocksDB绑定
近年来在Node中使用Facebook的RocksDB键值存储一直很麻烦,但终于有了一个新的、现代化的原生插件来完成这个任务。GitHub仓库。
🛠 工具
Bun v1.3.14添加图片处理、HTTP/3、HTTP/2 Fetch等功能
又一个庞大的Bun版本。Bun.Image是一个新的内置图片处理API,在许多情况下可以替代Sharp。Bun的包管理器添加了全局虚拟存储(类似于pnpm),Bun.serve实验性支持基于QUIC的HTTP/3,fetch获得HTTP/2和HTTP/3支持。还有常规更新。
Syncpack 15.0:JS Monorepo中的一致依赖版本
一个CLI工具(被Electron、Cloudflare、Vercel等使用),可以查找并修复整个monorepo中的版本不匹配问题,并强制执行版本策略以避免漂移。v15.0添加了对pnpm和Bun catalogs的支持,并引入了默认1天的最小发布年龄冷却时间。
Node.js 26.0 (Current) 发布
它来了!完整包含默认启用的Temporal API、V8 14.6(向Map.prototype.getOrInsert()等map“upsert”方法问好,以及使用Iterator.concat()的迭代器序列化),还有Undici 8。v26是“Current”前沿版本,直到10月晋升为LTS。
html-to-text 10.0:高级HTML到文本转换器
使用多种技术将即使是复杂的HTML转换为纯文本(但保留一些格式,例如表格)。v10使项目达到了现代标准。
PM2 7.0:Node.js的生产进程管理器
长期存在的基于Node的生产进程管理器(主页)已被重构,删除了大量外部依赖。它还扩展了Bun运行时支持,包括集群模式和监控代理。
Find My Way 9.6:使用基数树的快速HTTP路由器
一个“极快”的HTTP路由器,框架无关,支持你期望的路径匹配功能。(如果你是Fastify用户,你已经在使用它了!)
Node 26.0推迟到5月5日:Temporal在Rosetta 2上遇到问题
Node 26.0 (Current)完整包含默认启用的Temporal API,预计在本周二发布,但一个与macOS相关的问题破坏了构建。修复正在进行中,并且创建了26.0 RC 2,所以你仍然可以试用26.0。
portless:用稳定的命名本地URL替换端口号
如果你宁愿看到https://myapp.localhost而不是http://localhost:3000,这是为你准备的。它基于Node构建,现在包含针对Tailscale用户的新功能。
pnpm 11.0发布
一个重要的版本。最有前景的功能是一个新的基于SQLite的包索引,但它还添加了原生包发布工具、全局安装被隔离、供应链保护默认启用。
Bun v1.3.13:更智能的测试和更少的内存使用
这个替代运行时增强了bun test,提供了测试环境隔离、并行化选项,以及仅运行那些受最近更改影响的测试。运行时使用减少5%的内存,bun install变得更快,除此之外还有其他改进。
📚 教程
如何使用Node.js和Google Cloud Run发送和接收短信
将容器化的Node.js应用部署到Google Cloud Run,通过Vonage Messages API发送短信并处理入站webhook。
