TypeScript为什么需要Node.js?

10

这可能不是最好的问题,但我还是完全不了解JS。作为AS3开发人员,我对Typescript很感兴趣,但我一直在读到需要安装node.js来编译它?为什么会这样?

1个回答

12

TypeScript是一种编译成JavaScript的语言。执行此操作的编译器似乎是用JavaScript编写(或至少分发)的,并且node.js是在浏览器外执行JavaScript的最常见方式。

TypeScript编译器只是JavaScript,由node.js执行以进行编译。

你为什么问呢?那是因为编译器的开发人员选择使用JavaScript编写他们的编译器。实际上编译器是用TypeScript编写的。是的,在它应该编译的语言中编写编译器可能看起来很奇怪,但这超出了本问题的范围。


可能又是一个愚蠢的问题,但是浏览器不能编译它吗? - Phil
@Phil 可能吧,但不一定。Node.js公开了浏览器中没有的API,如果编译器使用其中任何一个,它就无法正常工作。但理论上,将这个TypeScript字符串转换为另一个JavaScript字符串的任务在浏览器中可以正常工作。事实上,CoffeeScript就是这样工作的。但你不应该需要在浏览器上编译TypeScript文件:) - Alex Wayne
2
实际上,TypeScript的编译器确实在浏览器中运行。这就是为什么这个链接可以工作的原因:http://www.typescriptlang.org/Playground/ - Alex Wayne
2
编译器是用TypeScript编写的。如果您想创建文件和更新文件,则需要JavaScript运行时,该运行时可以访问文件系统,这就是为什么您需要node.js(或类似工具)来完成工作的原因。使用浏览器脚本引擎,除了保存文件之外,您可以做任何事情。 - Fenton
1
是的,一个用它所要编译的语言编写的编译器,虽然很奇怪但确实可能 -- 实际上这并不那么奇怪。这被称为引导,是创建编译器的一种非常常见的方式。 - Paul Gordon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接