Javascript Typescripts,命令行生成的JS文件不正确,文件末尾定义了变量

Javascript Typescripts,命令行生成的JS文件不正确,文件末尾定义了变量,javascript,typescript,Javascript,Typescript,我有一个关于HTML5项目的Typescripts,当我使用vs2013 IDE编译项目时,JS文件将正确生成,但当我使用命令行编译项目时,JS文件变量将在文件末尾定义,有人知道这是为什么吗 批处理脚本: SET buildDir=C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE %buildDir%\DEVENV%projectDir%\xxx.sln/rebuild Release |任何CPU/useev JS文件: 可能

我有一个关于HTML5项目的Typescripts,当我使用vs2013 IDE编译项目时,JS文件将正确生成,但当我使用命令行编译项目时,JS文件变量将在文件末尾定义,有人知道这是为什么吗

批处理脚本:

SET buildDir=C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE %buildDir%\DEVENV%projectDir%\xxx.sln/rebuild Release |任何CPU/useev

JS文件:


可能是发布了生成此文件的原始TS代码?@Daniel昨天,我找到了根本原因,因为所有导入变量都定义在一个TS文件中,例如a.TS,如果我们使用命令行编译TypeScript项目,所有TS文件将生成一个JS文件,如果a.ts文件不在标记为的.csproj文件的头部,编译工具将逐个编译文件,当满足a.ts文件时,导入变量将插入到输出JS文件中,因此,导入变量将在输出JS文件的中间或末尾定义。因此,我试图将.ts文件移到.cPROJ文件中的项目头,它是有效的,但我仍然不知道为什么IDE能够正确地生成JS,即使我们不做这样的更改。ex a.ts。。。。。我不知道这是否是一个VS错误,但可能值得注意的是,在您发布的示例中,它实际上不会导致问题。JS输出中的所有内容都正常工作。即使在Greeter.start中引用了Date1,也不会有问题。只有在函数试图读取的变量/proeprity初始化之前实际执行函数时,顺序才起作用。
var Greeter = (function () {
function Greeter(element) {
    this.element = element;
    this.element.innerHTML += "The time is: ";
    this.span = document.createElement('span');
    this.element.appendChild(this.span);
}
Greeter.prototype.start = function () {
};

Greeter.prototype.stop = function () {
    clearTimeout(this.timerToken);
};
return Greeter;
})();
window.onload = function () {
   var el = document.getElementById('content');
   var greeter = new Greeter(el);
   greeter.start();
};
var ListBo1x = System.Windows.Controls;
var Action1 = System.Action;
var Date1 = System.DateTimeConventions;