JavaScript和Node.js大会总结:主要公告
上周在旧金山,致力于JavaScript生态系统和服务器平台Node.js的年度大会圆满落幕。此次活动聚集了超过5000名参与者,包括来自Google、Microsoft、OpenJS Foundation和Deno社区的关键开发者。我们整理了将在2024-2025年影响开发的最重要公告。
Node.js 22:新的LTS版本
主要事件是Node.js 22的发布,它已进入长期支持(LTS)状态。关键新特性包括:
- 内置WebSocket客户端 — 现在使用WebSocket协议无需安装第三方库(例如
ws)。这简化了实时应用的创建。 - 稳定的ESM Loader Hooks — 用于拦截模块加载的API最终版本。允许创建自定义加载器(例如,在ESM环境中支持CSS或JSON)。
- 性能提升 — V8引擎已更新至版本12.4,代码执行速度平均提升12%。
- 装饰器支持 — 以前仅通过Babel或TypeScript可用的实验性功能,现在默认启用。
TypeScript 5.6:新编译器和严格检查
Microsoft宣布了TypeScript 5.6 Beta版。主要变化:
strictBuiltinIterator模式 — 对内置迭代器(Map、Set、Array)的严格类型化。现在TypeScript将在.map().filter()链的所有阶段检查元素类型。- 自动导入Node.js类型 — 编译器在使用全局对象(
process、Buffer)时自动从@types/node拉取类型。 - 基于Rust的实验性编译器 — 展示了新编译器
tsc-rs的原型,承诺大型项目的构建速度提升3-5倍。
Deno 2.0:与npm兼容及新API
Deno团队发布了Deno 2.0的候选版本。关键公告:
- 与npm包完全兼容 — 现在无需使用
npm:前缀即可导入任何npm包。Deno通过自己的缓存自动解析依赖关系。 - 内置带覆盖率测试运行器 —
deno test命令现在支持生成LCOV和HTML格式的代码覆盖率报告。 - Node.js兼容模式 —
--compat标志启用Node.js全局对象(require、process.env、__dirname)的模拟,简化现有项目的迁移。
V8 12.4:内存优化和WebAssembly
作为Node.js和Chrome基础的V8引擎获得了显著改进:
- 压缩指针 — 对于64位系统,指针被压缩