内容提要
Node.js v22.7.0(当前版本)引入了 --experimental-transform-types 标志,以实现将 TypeScript 专用语法转换为 JavaScript 代码。模块语法检测现在默认启用,并对 Node.js 缓冲区进行了性能改进。本次发布还包括各种错误修复和依赖项更新。
延伸解读
TypeScript 转换功能解析
Node.js v22.7.0 通过 --experimental-transform-types 标志,支持将 TypeScript 特有语法(如枚举和命名空间)转换为 JavaScript 代码。这为开发者提供了在 Node.js 中直接运行 TypeScript 代码的便利,但该功能仍处于实验阶段,可能不适合生产环境。
模块语法检测默认启用
模块语法检测(--experimental-detect-module)现已默认启用。对于没有明确模块类型的 .js 文件或无扩展名文件,Node.js 会先尝试以 CommonJS 解析,若失败则回退到 ES 模块。这可能导致 ES 模块有轻微性能损失,可通过在 package.json 中设置 "type": "module" 来避免。
缓冲区性能优化
本次更新对 Node.js 缓冲区进行了多项性能优化,特别是 Buffer.copy 和 Buffer.write 方法。这些改进涉及底层实现,如使用原生拷贝、优化字节长度计算等,有望提升整体 I/O 性能。
Q&A
Node.js v22.7.0 新增了哪些功能?
Node.js v22.7.0 引入了 --experimental-transform-types 标志,支持将 TypeScript 语法转换为 JavaScript 代码,并且模块语法检测默认启用。
如何使用 Node.js v22.7.0 的模块语法检测?
模块语法检测现在默认启用,若需禁用可使用 --no-experimental-detect-module 标志。
Node.js v22.7.0 对缓冲区性能做了哪些改进?
本次发布优化了 Node.js 缓冲区的性能,特别是 Buffer.copy 和 Buffer.write 方法。
Node.js v22.7.0 解决了哪些错误?
本次发布包含多项错误修复和依赖项更新,具体错误未详细列出。
如何在 Node.js 中启用 TypeScript 语法?
可以通过添加 --experimental-transform-types 标志来启用 TypeScript 语法的转换。
Node.js v22.7.0 的下载链接有哪些?
可以从 Node.js 官方网站下载适用于不同平台的安装包和二进制文件。