2013-02-15 91 views
3

注意:我在Visual Studio 2010下使用TypeScript,所以很遺憾,使用Web Essentials 2012作爲解決方案不是一種選擇。TypeScript 0.8.2在保存時編譯AMD模塊

打字稿0.8.2已經加入到compile on save一個功能,我已經按照頁面上的說明,我的項目啓用。我對我的項目文件所做的唯一額外的變化是一個

<TypeScriptModuleKind>amd</TypeScriptModuleKind> 

屬性添加到每個告訴打字稿建立我的文件作爲AMD模塊組。

此工作正常時,項目完全建成,但是當我保存一個文件,並自動編譯觸發它這樣做沒有模塊開關和生成的JavaScript不再起作用。

有沒有辦法強制編譯保存功能將某些參數應用到tsc調用?


更新:

多一點搜索,我發現this work item哪裏別人有同樣的問題。它被封閉,無法重現,所以沒有人在那裏確認它爲他們工作,如果我要藉此報價:

在項目文件中指定的在保存時編譯選項...

暗示有一些方法可以將保存時編譯的選項分別設置爲在上面鏈接到的wiki頁上定義的調試和發佈選項?

+0

您使用的是Web Essentials嗎? – thomaux 2013-02-26 12:03:39

+0

@Anzeo不,我在Visual Studio 2010下運行它,所以Web Essentials不是一個選項。我也在2012年也嘗試過這個(仍然沒有網絡必需品),同樣的問題仍然存在,所以它不是一個問題,獲取TypeScript插件在VS2010下運行的黑客本質 – 2013-02-26 15:46:21

+0

拍攝,我認爲這可能是問題。我沒有弄亂項目文件中的TS編譯器功能,所以恐怕我無法幫助您使用此atm。 – thomaux 2013-02-27 13:51:55

回答

1

在後續版本中已修復此問題;也涉及爲Compile-on-Save指定輸出文件的能力。如果您使用Visual Studio 2012或Visual Studio 2013,請考慮升級到更高版本。

您可以通過以下方式試用0.9.5測試版:https://typescript.codeplex.com/wikipage?title=TypeScript%200.9.5%20beta

+0

謝謝,很高興聽到它是固定的。不幸的是,我們對我們的項目致力於.NET 4.0,所以升級不是一種選擇。沒關係,我們知道當我們開始使用傳統IDE時選擇尖端技術的風險,它不是一個殘缺的bug。 – 2013-11-20 09:54:50

0

您可以在您的.csproj文件中定義一個自定義的目標 - 或使用Microsoft.TypeScript.targets定義的 - 然後自定義工具,一個你.ts文件關聯。

對於這個剛剛成立的文件的「自定義工具」屬性設置爲**的MSBuild:*** NameOfYourMSBuildTarget *

的目標都會被調用一次與自定義工具相關的文件(S)被保存。

有關此方法的更多詳細信息,請參閱我的answer to this question