2013-03-11 75 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

相關問題