本周 Node.js 主线是稳定性与性能:官方修复流、子进程与 QUIC 三处进程崩溃问题,undefined 数据块不再抛 TypeError 终止进程。核心模块继续补强,node:fs 内置 glob、crypto.parsePKCS12 相继落地。生态侧 Cloudflare Workers 推出 Node.js 对齐的模块注册表,Vitest 5.0 正式发布。
🟢 Node.js 官方开发进展
🔧 Node.js 运行时
🐛 进程崩溃与误杀:流、子进程、QUIC 三处修复
流数据块为 undefined 时 for await 抛出的 TypeError 无法捕获、会终止进程,现已恢复为正常投递;spawn 失败后 child.kill() 不再误杀整个进程组,改为返回 false;QUIC 的 addressLRUSize 为 0 时首个 UDP 包即崩溃,现被校验拒绝。依赖 kill() 旧返回值或异常分支的代码需调整。
🆕 核心模块新能力:fs 原生 glob、crypto.parsePKCS12、HTTP/2 连接窗口与 BoundSocket 转移
node:fs 内置 glob 匹配,可去掉第三方 glob 依赖,但匹配语义与旧库可能不完全一致;crypto.parsePKCS12() 可直接取出 .p12/.pfx 中的私钥与证书链;http2 新增 connectionWindowSize,可在建连前设定初始连接窗口。net.BoundSocket 也可转移给其他线程或子进程,转移后源实例 address()/fd() 抛错、pipe 绑定不可转移。
⚡ Stream 分配与 fs.cp() 目录复制热路径优化
stream 写入不再预建 WriteWrap 对象、读缓冲改从 64KB slab 分配、每流状态改用 fast-mode 类实例避免 V8 字典模式,分配约快 50 倍;fs.cp() 复制目录树改到线程池,2100 个文件从约 215ms 降到 30ms,主线程几乎不再占用,cpSync 新建目录也不再丢失源目录权限。高频小包、短生命周期流和大目录复制自动受益,行为不变,无需改代码。
🔥 头条
Cloudflare Workers 推出与 Node.js 对齐的新模块注册表
Workers 上个月已默认启用 Node.js 兼容,意味着你可以在 Workers 中调用大部分 Node 内置 API。现在多了一种可选的模块加载方式,会把导入路径解析为真正的 URL,同时带来 import.meta 和 Node 的 require(esm) 规则。
Vitest 5.0 聚焦速度与测试调试
Vite 原生测试运行器的一次大版本发布,基准仓库显示在依赖繁重的应用上运行速度最多提升 53%。新的 Trace View 可逐步重放浏览器模式测试,vitest doctor 会推荐让测试套件跑得更快的配置。
📖 文章
自信地在 Kubernetes 上部署与管理容器化应用
加入 Erik Reinert 的这门详细视频课程,学习如何在 Kubernetes 上部署和管理生产级容器化应用。你将覆盖基础设施、测试、回滚、自动扩缩容等内容,最后再把集群推送到 EKS。
对 HTTP 客户端内部状态机做模糊测试
一个基于属性测试的实践案例:给 ffetch 已经通过的 206 个测试补上 fast-check 属性。生成的数千个用例在「已被充分测试」的代码中找出了 11 个真实缺陷。
为 Node.js 项目加上 MCP 服务器监控
只需一次函数调用。看清谁在连接、哪些工具拖慢速度,以及 MCP 从不抛出的那些失败。
vgpu:在浏览器或 Node.js 中渲染 WebGPU 着色器
让同一份着色器既能在浏览器里使用,也能在 Node 中无头渲染(输出高分辨率 PNG 或 MP4 视频)。WGSL 模块像 TypeScript 那样导入和导出。
前端项目抵御「代码垃圾」的 10 项举措
一次自动化检查的完整走查,用来减少你需要人工评审的代码量,涵盖 OpenAPI 代码生成、分层边界、变异测试,以及用 CI 让这些约束真正落地。
浏览器主线程很贵
一份深入剖析,配有演示,讲如何把主线程时间花在刀刃上,包括拆分、批处理、优先级排序与延迟任务,最终把工作彻底移出主线程。
🛠 工具
Rslib 1.0:面向 JavaScript 库与 CLI 的构建工具
Rspack 对标 tsup/tsdown 的方案发布 1.0,配置与 JS API 已稳定。它能从 engines.node 推断语法目标,借助 TypeScript 7 更快生成声明文件,还能(实验性)构建 Node SEA 可执行文件。
MikroORM 7.2:行级安全、WASM SQLite 驱动等
一个面向 SQL 数据库和 MongoDB 的 TypeScript ORM。7.2 新增原生 Postgres 行级安全,策略作为实体元数据,另外还有穿透关系和 WASM sql.js 驱动(没错,现在可以在浏览器里用 MikroORM 了!)
Javet 6.0:在 Java 中嵌入 Node.js 与 V8
一个把真实 Node.js 运行时(现为 v26)嵌入 JVM 的 Java 库。Java 代码可以加载 npm 包、调用正在运行的 Node 代码,并同时运行多个 Node 实例。GitHub 仓库。
eslint-plugin-regexp 3.3:找出正则表达式错误的 ESLint 插件
有一个精巧的在线演示,展示它能捕捉到的问题。
SimpleWebAuthn 14.0:现已支持抗量子通行密钥
这个通行密钥库现在可以验证抗量子的 ML-DSA 通行密钥,并且在 Node 24.7 及以上版本中,注册时默认优先选用 ML-DSA-44。
ESLint Config Inspector 3.4
新增耗时分析,更容易找出拖慢 lint 运行的规则。
GPUIX 0.7
用 React 和 TypeScript,在 Zed 所用的框架之上构建原生 GPU 加速桌面应用。
memlab 2.0.5
Meta 的框架,用于在浏览器和 Node.js JavaScript 应用中查找内存泄漏。
Astro LilyPond
为 Astro 提供构建期文本转乐谱渲染。
vue-echarts 8.3
Apache ECharts 的 Vue.js 组件。
📝 简讯
🎂 jQuery 1.0 已经 20 岁了,InfoQ 回顾往昔
🎂 jQuery 1.0 已经 20 岁了。InfoQ 回顾了 $() 如何帮我们避开浏览器大战,以及为什么许多网站至今仍在使用它。再往前十年,微软为了绕开商标问题,在 Internet Explorer 中以 JScript 之名发布了 JavaScript。
两人因 TeamPCP npm 供应链攻击被捕
两人因 TeamPCP npm 供应链攻击被捕。TeamPCP 涉嫌克隆 Shai-Hulud 蠕虫,由此引发了「Mini Shai-Hulud」攻击潮。
VoidZero 最新更新:Vitest 周下载量突破 1 亿
VoidZero 的最新更新庆祝 Vitest 周下载量突破 1 亿次、React Compiler 支持进入 Vite,并介绍了 Rolldown、Vite+ 与 ViteConf(将于 10 月 15 日线上举行)的最新进展。
📦 版本
deck.gl 9.4
这个由 GPU 驱动的数据可视化库扩展了实验性的 WebGPU 支持,预计这是 v9 的最后一个版本。
Bun 1.4.1
空闲内存占用大幅下降,bun build 产物更小,Bun.serve 可在同一端口同时说 HTTP/2 与 HTTP/1.1,还有更多改进。
NVM for Windows 2.0
面向 Windows 的 Node 版本管理器。v2 不再需要管理员权限。
Astro 7.3
往期精选
- Node.js周刊2026W36 | NestJS 12发布、Remix 3 RC、pnpm 12 Rust重写、Node.js 26.8.0
- Node.js周刊2026W35 | Node.js 26.8.0发布、pnpm 12 Rust重写、Bun 1.4发布、Solid 2.0 RC、SvelteKit 3 RC
- Node.js周刊2026W34 | Node.js 26.7.0发布、pnpm 12进入候选版、Fastify 6.0开放Alpha、Preact 11候选版、Deno 2.9.5补齐兼容
- Go周刊2026W36 | Go 1.27.1 发布、TinyGo 0.42、HTTP/2 原生迁入 net/http、quic-go 0.62
- 2026年9月编程语言排行榜|Julia 逼近前 20
- Java周刊2026W36 | JDK 28 值类预览、Spring Boot 4.1.1、Spring Cloud 2025.1.3、Quarkus 3.39.1