2015-10-26 56 views
2

我刚刚开始探索新的JavaScript想法,对此我印象深刻。乍一看,CoffeeScript和TypeScript都有一些很棒的功能。它们都被编译为JavaScript。 CoffeeScript非常棒,因为它使代码变得更简单,更清晰。另一方面,TypeScript使我们有可能构建复杂的应用程序。是否可以混合使用TypeScript和CoffeeScript?

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

回答

5

简答:没有。

您需要编译一个的CoffeeScript /打字稿文件,JavaScript文件,这意味着该文件,作为一个整体,必须语法正确为给定的语言。

CoffeeScript和TypeScript在语法上不可互换。充其量,你将不得不求助于语法使用方面的一个最低公分母,但这将完全破坏使用这两者中的任何一个而不是纯JavaScript的目的。

3

你不能和它是真的是个坏主意。假设您可以在一个文件中包含CoffeeScript和TypeScript,那么您需要可以在两者中编程的开发人员,因此您的产品将更加昂贵。此外,您将失去使用lints检查代码的合理机会。

我无法想象当将CoffeeScript和TypeScript结合使用时,模块(commonjs,AMD,ES6,...)会遇到什么样的麻烦。

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

如果您可以选择,我会推荐使用TypeScript,因为它可以避免大量运行时错误。这并不像CoffeeScript那么美观,但这通常不是你付出的。

1

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

1

看一看compiled-coffee至极状态:

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

相关问题