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

时间:2014-03-10 06:51:16

标签: node.js typescript

如果我运行$ 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

1 个答案:

答案 0 :(得分:0)

对于多个模块的文件,

--out会被忽略,因为它甚至不清楚是什么意思(如果您指定了tsc --out foo.js Module1.ts Module2.tsModule1require'的话,那该怎么办? d Module2?)。

这里的理论是,如果你想要将它命名为不同的东西,你可以使用你的外部构建工具(grunt,jake,make,frakes等)来重命名你的文件。它很少用于将外部模块文件编译为其他文件名,因为它会编译但不能运行。

There's a CodePlex issue您可以投票表示您对实施此1.0后的支持。