首页
/ Node.js v23.6.0 版本发布:原生支持 TypeScript 执行

Node.js v23.6.0 版本发布:原生支持 TypeScript 执行

2025-05-31 19:40:25作者:董宙帆

Node.js 作为当下最流行的 JavaScript 运行时环境,其最新版本 v23.6.0 带来了一个令人振奋的功能更新——原生支持 TypeScript 文件的直接执行。这一特性标志着 Node.js 在开发者体验上的重大提升,让 TypeScript 开发者能够更便捷地使用 Node.js 运行他们的代码。

TypeScript 原生执行能力

本次版本最引人注目的变化是移除了 --experimental-strip-types 实验性标志,使其成为默认功能。这意味着开发者现在可以直接运行 TypeScript 文件,无需任何额外配置:

node file.ts

这一功能的实现基于类型剥离(type stripping)技术,Node.js 会在运行时自动移除 TypeScript 的类型注解,将代码转换为纯 JavaScript 执行。不过需要注意的是,当前版本对 TypeScript 语法的支持仍有一些限制,开发者需要参考官方文档了解具体细节。

其他重要更新

标准输入支持 TypeScript

除了直接执行 TypeScript 文件外,新版本还扩展了对标准输入(STDIN)的 TypeScript 支持。现在开发者可以通过管道将 TypeScript 代码传递给 Node.js 执行:

echo "const x: number = 1; console.log(x);" | node

进程管理增强

新增了 process.ref()process.unref() 方法,为进程管理提供了更细粒度的控制能力。这些方法允许开发者明确指定某个进程是否应该保持事件循环活跃,这对于编写守护进程或后台服务特别有用。

Worker 线程支持

Worker 线程现在也支持直接执行 TypeScript 代码,使得在多线程环境下使用 TypeScript 变得更加方便。

性能优化与改进

错误堆栈处理优化

新版本改进了 prepareStackTrace 对内置帧的处理效率,同时优化了源映射查找时的异常处理,使得错误堆栈信息更加准确和高效。

模块系统增强

修复了同步 findPackageJSON 中的异步解析错误问题,提高了模块加载的稳定性。同时改进了模块缓存处理,使用更高效的 base64 编码方式。

开发者工具链更新

测试框架改进

测试运行器(test runner)中的测试隔离功能已标记为稳定状态,为单元测试提供了更可靠的隔离环境。同时移除了多个测试用例的"flaky"标记,表明这些测试的稳定性已经得到提升。

文档完善

更新了多个核心模块的文档,包括更清晰的参数说明和示例代码。特别是完善了 SECURITY.md 中的安全相关内容,使用更合适的格式呈现安全信息。

向后兼容性说明

虽然 TypeScript 支持已成为默认功能,但官方仍将其标记为实验性特性,这意味着在未来版本中可能会有调整。开发者在使用时应当注意这一特性可能的变化。

Node.js v23.6.0 的这些改进显著提升了开发者的工作效率,特别是对于 TypeScript 开发者来说,减少了构建配置的复杂性,使得从开发到运行的流程更加顺畅。随着这些功能的稳定和进一步完善,Node.js 在 TypeScript 生态中的支持将变得更加成熟可靠。

登录后查看全文
热门项目推荐