TypeScript 5 正式版扩展装饰器,稳定新模块解析选项等

TypeScript 5.0 正式发布

在三个月前宣布 TypeScript 5.0 Beta 版本后,TypeScript 5 终于正式发布。此次更新带来了多项重要变化,包括对装饰器的扩展支持、新的 bundler 模块解析选项等。

主要新功能

装饰器的扩展支持

装饰器是 TypeScript 5.0 中最显著的新功能,允许在 exportexport default 前后使用装饰器。这一变化主要是为了与未来 ECMAScript/JavaScript 版本的兼容性需求。装饰器可以用于修饰类及其成员,使其更易于重用。例如,可以创建一个 loggedMethod 装饰器来为现有函数添加日志行为。

新的 bundler 模块解析选项

TypeScript 5.0 引入了一个新的 bundler 模块选项,名为 --moduleResolution bundler,旨在改善与现代打包工具如 Vite、esbuild、swc、Webpack、Parcel 等的共存性。该选项仅适用于 esnext 模块,以确保输入文件中的 import 语句在打包器解析之前不会被转换为 require 调用。

其他重要信息

不遵循语义版本控制

尽管 TypeScript 5.0 是第一个使用主版本号 5 的版本,但需要注意的是,TypeScript 并不遵循语义版本控制。这意味着从 TypeScript 4.9 升级到 5.0 并不比从 4.8 升级到 4.9 有本质上的不同。

破坏性变更和弃用

TypeScript 5.0 引入了一些破坏性变更和弃用,例如对 enum 类型的全面重构,这可能会破坏现有代码。

总结

TypeScript 5.0 的发布标志着该语言的进一步成熟,特别是在装饰器和模块解析方面的改进,使其与现代开发工具和标准更加兼容。尽管存在一些破坏性变更,但这些变化为未来的发展奠定了坚实的基础。

阅读 63
0 条评论