【问题标题】:Is it possible to compile a single TypeScript file to an output path using the tsc command?是否可以使用 tsc 命令将单个 TypeScript 文件编译到输出路径?
【发布时间】:2013-01-26 22:14:04
【问题描述】:

为了将我的 .ts 源文件与 .js 输出分开,我试图在 TypeScript 中实现一个正式的文件观察器,似乎无法为单个文件指定输出路径存在。

流程,为了清楚起见:我开始查看我的整个 src 目录,对 src/views/HomeView.ts 进行更改,并且我希望节点接收到文件已更改,并移动已编译的版本为public/js/views/HomeView.js

使用tsc myfile.ts --out myfile.js 它遍历所有模块并在.ts 文件存在的相同路径中编译每个模块,而不将最终文件放置在正确指定的路径中。它确实创建了一个我希望它结束​​的空文件。

我想知道:

1) 是否可以使用--out 参数并编译该文件?我不希望它遍历导入并编译每个文件,而只是在编译时进行语法/错误检查(这只是次要要求,不是必需的);和

2) 编译器中是否存在阻止其正确组合/创建文件的错误?同样,--out 路径指令中的最终输出为空,但确实创建了一个文件。

任何帮助将不胜感激。

* 更新 *

虽然我不想结束这个问题,因为我认为这仍然是一个问题,但我继续实现了核心 TypeScript 编译器以实现我需要做的事情,完全绕过了tsc。请参阅https://github.com/damassi/TypeScript-Watcher 了解更多信息和用法。

【问题讨论】:

  • 这对我们来说是一个问题,特别是第 1 部分,编译器正在重新编译所有依赖项,因此对它们进行了非常轻微的更改,但在功能上不需要将它们全部重新签入源代码控制。

标签: node.js typescript tsc


【解决方案1】:

当您使用 --out 参数时,您会得到一个文件,编译器会遍历依赖项并计算出最终文件的正确顺序。

例如...

tsc --out final.js app.ts

将在app.ts 中找到任何依赖项并将它们全部编译。在计算出正确的顺序后,它将把所有的 JavaScript 保存在 final.js 中。如果此 JavaScript 文件为空,则通常表示编译器错误。

不能使用--out 参数仅为您指定的 TypeScript 文件生成 JavaScript 文件,除非该文件没有依赖项。

【讨论】:

  • 我想补充一下,你也可以在 tsconfig 中使用outFile
  • 我个人的看法是,如果你有模块(我同意),你也可以按需加载模块(我同意),而不是将它们全部捆绑到一个大文件中(我不同意)。当然,这只是我个人的看法,但在实际情况中,我认为完全采用模块直至生产,而不是仅仅在“开发时”使用它们会带来很多好处。
猜你喜欢
  • 2013-06-19
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 2022-10-24
  • 2018-04-17
  • 2020-03-29
  • 1970-01-01
  • 2013-04-18
相关资源
最近更新 更多