是否可以混合使用TypeScript和CoffeeScript?

时间:2015-10-26 11:09:14

标签: javascript coffeescript typescript

我刚开始探索新的JavaScript想法,我印象非常深刻。乍一看,CoffeeScript和TypeScript都有一些很棒的功能。它们都编译为JavaScript。 CoffeeScript很棒,因为它使代码更短更清晰。另一方面,TypeScript为我们提供了构建复杂应用程序的可能性。

是否可以混合使用TypeScript和CoffeeScript?我的意思是 - 在同一个文件中利用它们两个?

5 个答案:

答案 0 :(得分:6)

简答:否。

您需要编译 CoffeeScript / TypeScript文件到JavaScript文件,这意味着整个文件对于给定的语言必须语法正确

CoffeeScript和TypeScript在语法上不可互换。充其量,你必须在语法使用方面采用一些最低的公分母,但这完全会破坏使用任何两个而不是普通JavaScript的目的。

答案 1 :(得分:3)

你不能,而且真是个坏主意

假设您可以将CoffeeScript和TypeScript放在一个文件中,那么您需要能够在两个文件中编程的开发人员,因此您的产品将更加昂贵。此外,您将失去使用lints检查代码的任何合理机会。

我甚至无法想象在组合CoffeeScript和TypeScript时,模块(commonjs,AMD,ES6,...)会遇到什么样的麻烦。

如果您使用一种语言,您通常会从其作者的教程中获得如何正确使用该语言的方法。当你混合使用语言时,你必须想出“在我的环境中使用X的正确方法”。这些挑战听起来很小,但对于任何严肃的项目来说,它们都是致命的。

如果您可以选择,我会推荐TypeScript,因为它可以避免大量的运行时错误。它不像CoffeeScript那样在视觉上很好,但这不是你通常付出的代价。

答案 2 :(得分:2)

好吧,如果你想尝试一下,你总是可以创建一个类似CoffeeScript的语言,它具有类型化的变量并编译为TypeScript(编译为JavaScript)。我认为这比实际教授CoffeeScript类型变量或直接编译到JS要容易得多。查看CoffeeScript's source以了解它们如何解析,转换和打印生成的代码。编写一个转换器实际上并不像听起来那么复杂。

答案 3 :(得分:1)

查看compiled-coffee各州:

  

你喜欢TypeScript的类型安全性和简洁的语法吗?   CoffeeScript的?在那种情况下CompiledCoffee适合你!它结合了   CoffeeScript通过定义文件使用TypeScript的类型系统。   您可以在中创建一个* .coffee文件和一个名称相同的* .d.ts文件   您(可选)键入内容。休息是自动处理的。

答案 4 :(得分:0)

当前不是,CS和TS都有很多不兼容的语法。对于这些CoffeeTypeScript文件类型,您需要一个专用的编译器,而该编译器不存在。

我对这种语言的外观非常感兴趣,但恐怕它会有太多选择,而且很难学习(相对于CS或TS)。我可以想象其中的编程与python类似。