Node.js 为什么--module会覆盖Typescript编译器';s--出旗?

Node.js 为什么--module会覆盖Typescript编译器';s--出旗?,node.js,typescript,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代码,我显然需要--module标志。但是我认为,--out标志值被忽略/覆盖是一个错误 原因是我想用.gen.JS作为生成的JS代码的后缀,这

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

鉴于我在TS代码中使用了
export
赋值,使我的类可用于我的NodeJS代码,我显然需要
--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.ts
,其中
Module1
had
require
'd
Module2
?)

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


您可以投票支持实现这一post-1.0。

您在模块方面提出了一个好的观点@ryan cavanaugh,但是我使用WebStorm的文件查看器将我的TS转换为JS,直接调用tsc。我可能不得不通过Grunt将其重新调整为委派。