最近,AMD、Apache、Beta、Bruno、Code、CommonJS、Couriol、DOM、Deprecations、ECMA、ES、ES5、ESM、Electron还有Escaping这些家伙凑在一起搞了个大事。Type 团队把TypeScript 6的Beta版给推了出来,主要是给Go语言重写计划做准备。这个版本虽然看起来没加啥新功能,其实是个关键的过渡版,目的是还债和标准化。以后要把Type 7写出来,就得先解决核心性能问题,特别是在大型全栈应用里,比如做Node.js服务器端逻辑、搞桌面程序像Electron那样,还有从数据库到客户端整个链路都用上类型安全系统的时候,编译速度特别慢。Bruno Couriol发话说,这个Beta版还跟Web标准对齐了,用了子路径导入这种Node.js的玩法,减少了对自定义路径解析的依赖。这次还支持了那个进了第4阶段的RegExp Escaping提案,让DOM类型系统更好用了。 在配置上他们也下了功夫。默认的模块解析直接改成了ES模块(esnext),target目标也跟最新的ECMA标准(es2025)对上了。大家都懒得去转译旧版本了嘛。还有未检查副作用的导入也给默认捕获了(noUncheckedSideEffectImports)。要是这些默认值搞坏了项目,咱们还能在tsconfig.json里自己调。为了让路给新编译器,ES5目标、AMD和UMD这些老古董模块系统都被淘汰了。baseUrl配置和out-file打包功能也没了。 去掉这些让实现更清爽了。现在CommonJS都被ESM打包器替代了,而且现代开发环境大多用持续更新模式。团队把工作做完了就是为了给正在积极开发的Type 7铺路。Type 7用Go重写了编译器,就是想解决那个让人头疼的性能问题。在大代码库里编译慢到让人崩溃啊!发布说明让大家赶紧迁移到Type 6,好在后面换Type 7的时候不折腾。 如果设置了"ignoreDeprecations": "6.0",那些被弃用的选项现在还能用不报错,但到了Type 7的原生版就彻底没了。要是升级后看到警告提示,建议先解决掉再换。他们还在连夜开发Type 7的原生预览版还有VS Code扩展呢!赶紧去试试吧。Type是Apache 2授权的开源软件,欢迎来GitHub上提建议或者贡献代码哦。