TypeScript 0.8.2 kaydedildiğinde AMD modüllerini derler


Not: TypeScript'i Visual Studio 2010 altında kullanıyorum, bu yüzden maalesef Web Essentials 2012'yi bir çözüm olarak kullanmak bir seçenek değil.

TypeScript 0.8.2, kaydetmede derleme özelliğini ekledi ve ben bu özelliği o sayfadaki talimatları izleyerek projeme etkinleştirdim. Proje dosyamda yaptığım tek ek değişiklik ise bir

<TypeScriptModuleKind>amd</TypeScriptModuleKind>

TypeScript'e dosyalarımı AMD modülleri olarak derlemesini söyleyen özellikleri her bir gruba atamak.

Bu, proje tamamen derlendiğinde düzgün çalışıyor, ancak tek bir dosya kaydettiğimde ve otomatik derleme tetiklendiğinde, modül değişikliği olmadan çalışıyor ve oluşturulan JavaScript artık çalışmıyor.

Kaydetme sırasında derleme özelliğinin tsc çağrısına belirli parametreleri uygulamasını zorlamanın bir yolu var mı?

Güncelleme :

Biraz daha aradıktan sonra, başka birinin aynı sorunu yaşadığı bu çalışma öğesini buldum. Yeniden üretilemediği için kapatılmış, o yüzden dışarıda biri bunun onlar için çalıştığını doğrulayabilir mi ve bu alıntıyı almam gerekip gerekmediğini söyleyebilir mi:

Projede belirtilen Kaydetmede Derleme seçenekleri...

Yukarıda bağlantısını verdiğim wiki sayfasında tanımlanan debug ve release seçeneklerinden ayrı olarak Compile on Save için seçenekleri ayarlamanın bir yolu olduğunu ima etmek mi?

Cevap #1

Bu sorun sonraki sürümlerde düzeltildi; ayrıca Derlemeyi Kaydet sırasında bir çıkış dosyası belirleme yeteneği ile ilgili sorunlar da düzeltildi. Eğer Visual Studio 2012 veya Visual Studio 2013 kullanıyorsanız, daha yeni bir sürüme yükseltmeyi düşünebilirsiniz.

0.9.5 beta sürümünü şuradan deneyebilirsiniz: https://typescript.codeplex.com/wikipage?title=TypeScript%200.9.5%20beta

Cevap #2

.csproj dosyanızda özel bir hedef tanımlayabilir veya Microsoft.TypeScript.targets içinde tanımlanmış olanı kullanabilir ve ardından bir .ts dosyanıza özel bir araç atayabilirsiniz.

Bunun için dosyanın "Özel Araç" özelliğini **MSBuild:***MSBuildHedefinizinAdı* olarak ayarlamanız yeterlidir

Özel araçla ilişkili dosya(lar) kaydedildiğinde hedef her seferinde çağrılacaktır.

Bu yaklaşımla ilgili daha fazla ayrıntı için bu soruya verdiğim cevaba bakın.