TS转码:Babel vs TSC

Tom*_*kas 5 typescript babeljs

我是第一次设置TS项目。我很好奇-我可以使用和配置Babel或只是tsc ..进行转译。

两者的主要区别是什么?

May*_*ova 5

主要区别在于对TypeScript语言本身的支持。

您可以像使用tscBabel一样,将ES6 +转换为该标准的较早版本,方法是基本上"strict": false输入tsconfig.json。或者,您可以在Babel上使用类似Flow的类型检查器,以实现与TypeScript编译器默认提供的效果相似的效果。

AFAIK,tsc不使用Babel-我已经看到它们从同一源.js文件中产生行为不同的代码。

  • 这是产生可观察差异的示例 [代码](https://gist.github.com/MayaLekova/3b0eb851baf7e6d6d6e863e5e3562f1d)。这个有点棘手,因为流行的浏览器不同意正确的行为。TS 遵循其中一种行为,而 Babel 则相反。 (2认同)