TypeScript 的维基百科页面提到其编译器本身是用 TypeScript 编写的。这是如何实现的呢?TypeScript 转译为 JavaScript,而 JavaScript 通常由 Web 浏览器解释。那么 tsc 编译器二进制文件是如何生成的呢?
尽管JavaScript通常与浏览器相关,但它也可以使用Node.js在服务器或命令行上工作。TypeScript的构建过程由nodejs脚本组成。 TypeScript项目的脚本可以在其package.json文件中找到,在此处可以找到。build:compiler脚本运行此gulpfile,gulpfile的一部分是运行这个文件。该文件执行./lib/tsc,从而运行在lib目录中找到的TypeScript编译器,然后编译传递给它的TypeScript代码。请注意,结果不是二进制文件,而是JavaScript文件;与./lib/tsc相同(或相似)的JavaScript文件。
在计算机科学中,引导是一种生成自编译编译器的技术 - 即用源编程语言编写的编译器(或汇编器)。使用不同语言(可以是汇编语言)生成编译器的初始核心版本(引导编译器),使用该语言的最小子集开发编译器的连续扩展版本。编译自编译编译器的问题在编译器设计中被称为鸡生蛋问题,而引导是解决此问题的方法。来自:https://en.wikipedia.org/wiki/Bootstrapping_(compilers)