【问题标题】:Why does TypeScript need Node.js?为什么 TypeScript 需要 Node.js?
【发布时间】:2013-05-13 05:27:48
【问题描述】:

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

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

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

    typescript 编译器就是简单的 JavaScript,由 node.js 执行来编译东西。

    你问为什么?好吧,因为编译器的开发人员选择用它来编写他们的编译器。这可能是他们真正想要的任何语言。

    不过,我的预感是编译器实际上是 用 TypeScript 编写的,并且它们分发编译后的版本。是的,一个用它应该编译的语言编写的编译器,奇怪但可能,超出了这个问题的范围。

    【讨论】:

    • 又是一个愚蠢的问题,但是浏览器不能编译它吗?
    • @Phil 可能,但不一定。 Node.js 暴露了浏览器中没有的 API,如果编译器使用其中任何一个,它就无法工作。但理论上,获取这串 TypeScript 并吐出另一串 JavaScript 的任务在浏览器中可以正常工作。事实上CoffeeScript 就是这样工作的。但是你不需要浏览器来编译你硬盘上的 TypeScript 文件:)
    • 实际上 TypeScript 的编译器确实在浏览器中运行。这正是它起作用的原因:typescriptlang.org/Playground
    • 编译器是用 TypeScript 编写的。如果你想创建文件和更新文件,你需要一个 JavaScript 运行时,它可以让你访问文件系统,这就是为什么你需要 node.js(或类似的)来完成正确的工作。除了使用浏览器脚本引擎保存文件之外,您可以做任何事情。
    • “是的,一个用它应该编译的语言编写的编译器,奇怪但可能”——实际上并没有那么奇怪。它被称为引导,是一种非常常见的创建编译器的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    • 2017-02-12
    相关资源
    最近更新 更多