如何在Visual Studio 2012中包含TypeScript文件并编译整个文件?

时间:2013-03-11 17:46:23

标签: visual-studio-2012 typescript web-essentials

我安装了最新版本的TypeScript以及最新版本的Web Essentials。我在VS2012中创建了一个新的TypeScript项目。

如果有utils.ts

moduls utils
{
    export function getNumber() {
        return 4;
    }
}

app.ts

/// <reference path="utils.ts" />

alert(utils.getNumber().toString());

JavaScript文件都是单独编译的。但要让app.js正常工作,utils.ts的已编译源代码显然已包含在内。

在我的控制台中运行tsc app.ts -out app.js时它确实有效,但我不想每次都手动运行它。

为什么Web Essentials不能为我做这件事?

2 个答案:

答案 0 :(得分:3)

我安装了Web Essentials,因为我喜欢并排编辑,但我使用项目文件中的TypeScript编译器来编译单个输出。

详细信息如下:http://www.stevefenton.co.uk/Content/Blog/Date/201301/Blog/Getting-The-Right-Set-Up-For-TypeScript/

但是项目文件的代码块是:

<Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\$(TypeScriptVersion)\tsc&quot; --out final.js @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

您可能会发现这已经存在于您的项目文件中,您只需要添加--out标志。

答案 1 :(得分:0)

我正在使用VS2012 express for Web / TypeScript0.9.0.1,上面的方法不起作用。如果其他人对该设置有这个问题,我确实得到了类似的解决方法

    项目属性中的
  1. - &gt;构建事件 - &gt;我添加了预构建事件命令行:"C:\Program Files (x86)\Microsoft SDKs\TypeScript\tsc.exe" --target ES5 $(ProjectDir)app.ts -out $(ProjectDir)Final.js

  2. 修改了default.htm以加载Final.js而不是app.js