2012-10-10 18 views
28

Web'de Visual Studio Express'te Get/set sözdizimini kullanmak istiyorum. Bunu nasıl etkinleştiririm? Derlerken şu anda bu hatayı alıyorum;Visual Studio'da TypeScript ile ES5'i Hedefleme

Mülkiyet erişimcileri ES5 veya hedeflerken yalnızca kullanılabilir derlenmiş olan dosya TypeScriptCompile birikimi etkiye sahiptir

büyüktür. Visual Studio'dan gerekli derleyici anahtarını nasıl ekleyeceğimi bilmiyorum.

Herhangi bir yardım için teşekkür ederiz.

cevap

19

-target ES5'i derleyiciye iletmeniz gerekir. Derleme proje dosyanızda bir msbuild görevi kullanılarak tetiklenir. Proje dosyanızın büyük olasılıkla, bir "TypeScriptCompile" hedefinin, onr feryat gibi, sadece hedef argümanın geçtiğinden emin olun.

<Target Name="TypeScriptCompile" BeforeTargets="Build"> 
    <Message Text="Compiling TypeScript files" /> 
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
</Target> 
+0

Bunu yaptı. Teşekkür ederim. – Ezward

2

ES5 uyumlu kodu üretmek için TSC.EXE talimat için anahtar --target ES5 (çift çizgi dikkat edin): Burada bir örnektir.

Her projede [Something] .csproj (bizim olgumuzda C# projesi) adlı bir dosya vardır. Bu dosyayı notepad kullanarak açın ve Target xml öğesine bakın. Exec komutunu --target ES5 ekleyerek değiştirin. Proje csproj dosyasında Studio 2012, proje şablon türü typescript yapılı, kullanma

<Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; --target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
+0

Bu işe yarıyor. Teşekkürler. – Ezward

+0

İşte neyle sonuçlandım. Bu, ES5 hedefi, AMD modülleri ve sourcemaps için bayraklar içerir. Temel olarak, tarayıcı geliştirme için istediğiniz şeyler. Ezward

1

ES3

ES3 olarak ayarlanır:

önce:

<Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 

sonra

ES3'ten ES5'e değiştirin, kaydedin ve projeyi yeniden yükleyin.

+0

Bunu yaptım ve şimdi "tsc.exe" hata kodu 1 ile çıktım.' – daniel

20

Bu, TypeScript 0.8.2 ile değişmiştir. Ayrıca Visual Studio kullanıyorum Asher Barak answer

4

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>true</TypeScriptSourceMap> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    </PropertyGroup> 

    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>false</TypeScriptSourceMap> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    </PropertyGroup> 

See:

<TypeScriptTarget>ES3</TypeScriptTarget> 

MyApp.csproj

<TypeScriptTarget>ES5</TypeScriptTarget> 

için: Artık gelen .csproj dosyada TypeScriptTarget değiştirmek 2 Web Essentials ile 013 Güncellemesi 4. Microsoft, hedeflenmiş ECMAScript sürümünü daha kolay değiştirdi.

Artık aşağıdakileri yapabilirsiniz:

  1. Sağ proje adını tıklayın ve Özellikler 'i tıklatın.
  2. Özellikler penceresinde "Typescript Build" öğesini seçin
  3. ECMAScript sürümünü "ECMAScript 5" e ayarlayın.

ECMAScript 5'in şu anda varsayılan olduğuna inanıyorum. Şu anda, ECMAScript 3 veya ECMAScript 6'yı hedef olarak da seçebilirsiniz.

+1

Bu en iyi yanıttır. – Pakman