2013-03-11 44 views
3

我已经安装了最新版本的TypeScript以及最新版本的Web Essentials。我在VS2012中创建了一个新的TypeScript项目。如何在Visual Studio 2012中包含TypeScript文件并编译整个文件?

如果有一个utils.ts

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

并有app.ts

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

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

的JavaScript文件都被编译seperatly。但要获得app.js正常工作,编译的源代码utils.ts显然要包含在内。

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

为什么Web Essentials不能为我做?

回答

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标志。

+0

感谢您的回复!我按照指示做了,但我在'csproj'文件中既没有找到'target'标记也没有'BeforeBuild'属性。 – Amberlamps 2013-03-12 07:35:08

+0

如果不存在,你可以添加它 - 你还需要检查你是否还有''。这只是在 app.ts'节之后。 – Fenton 2013-03-12 09:27:53

+0

是否有一个特定的位置,我必须包含代码?我将它添加到根元素'',但它不起作用。 – Amberlamps 2013-03-12 10:37:40

0

我正在使用VS2012 express for Web/TypeScript0.9.0.1,并且上面没有工作。如果任何人有这个问题与安装,我没有得到一个类似的解决办法要去哪里

  1. 在项目属性

    - >生成事件 - 我加>预生成事件命令行:"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

相关问题