ts-node 和 tsc 有什么区别

Suk*_*ich 7 typescript

我是 Typescript 的新手,遇到了 ts-node 和 tsc,也就是说,如果我们安装 ts-node,tsc 是否默认包含在 ts-node 内,因为据我所知,ts-node 理解 Typescript 并直接运行它

T.J*_*der 11

tsc是 TypeScript 编译器,它与ts-node.

ts-node是 Node.jsnode可执行文件的包装器,它安装支持 TypeScript 的模块加载器,根据需要动态编译 TypeScript。从其页面npm

TypeScript Node 的工作原理是为.tsx?.jsx?(当allowJs== true 时)扩展注册 TypeScript 编译器。当node.js注册了扩展(通过require.extensions)时,它将在内部使用该扩展进行模块解析。

ts-node默认情况下使用tsc,但如果指定选项也可以使用其他编译器--compiler

  • @Sukich - 不,“ts-node”不是编译器。它*使用*编译器。当您希望有一个工具(“ts-node”)为您即时编译基于 Node.js 的 TypeScript 时,“ts-node”非常有用。任何其他时候您想要将 TypeScript 编译为 JavaScript 时,`tsc` 都很有用——因为您不想在 Node.js 上运行时执行此操作,或者因为您根本不使用 Node.js(编译为 JavaScript 用于其他环境,例如网络浏览器)。 (2认同)