为什么 --module 会覆盖 Typescript 编译器的 --out 标志?



如果我运行$ tsc --out foo.js MyFile.ts我会得到文件foo.js. 但是,如果我指定--module commonjs选项,则--out参数将被覆盖,并且我得到MyFile.js即:$ tsc --out foo.js --module commonjs MyFile.ts

鉴于我在 TS 代码中使用export赋值以使我的类可用于我的 NodeJS JS 代码,我显然需要--module标志。 但是我认为忽略/覆盖--out标志值是一个错误。

原因是我想用 .gen 为生成的 JS 代码添加后缀.js这样我就可以编写一个 SCM 规则来忽略生成的代码。

$ node --version && tsc --version
v0.10.22
Version 0.9.7.0

对于多个模块的文件,--out被忽略,因为不清楚这意味着什么(如果你指定了tsc --out foo.js Module1.ts Module2.tsModule1在哪里requireModule2?)。

这里的理论是,如果您希望将文件命名为其他名称,则可以使用外部构建工具(grunt,jake,make,frakes等)重命名文件。很少打算将外部模块文件编译为其他文件名,因为它可以编译但不运行。

您可以对 CodePlex 问题进行投票,以表示您对实施此后 1.0 的支持。

最新更新