在Visual Studio中使用TypeScript定位ES5

时间:2012-10-10 02:15:13

标签: typescript

我想在Visual Studio Express for Web中使用TypeScript中的get / set语法。我该如何启用它。我在编译时遇到此错误;

  

属性访问者仅在定位ES5或更高版本时可用

正在编译的文件的构建操作为TypeScriptCompile。我不知道如何在Visual Studio中添加必要的编译器开关。

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:23)

TypeScript 0.8.2已经改变了。您现在更改了TypeScriptTarget文件中的.csproj

<TypeScriptTarget>ES3</TypeScriptTarget>

<TypeScriptTarget>ES5</TypeScriptTarget>

<强> MyApp.csproj

  <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>

另见Asher Barak answer

答案 1 :(得分:21)

您需要将-target ES5传递给编译器。使用项目文件中的msbuild任务触发编译。您的项目文件可能有一个“TypeScriptCompile”目标,如onr bellow,只需确保传递目标参数。这是一个例子:

<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>

答案 2 :(得分:5)

我正在将Visual Studio 2013 Update 4与Web Essentials一起使用。 Microsoft已经更轻松地更改了目标ECMAScript版本。

您现在可以执行以下操作:

  1. 右键单击项目名称,然后单击“属性”。
  2. 在“属性”窗口中,选择&#34; Typescript Build&#34;
  3. 将ECMAScript版本设置为&#34; ECMAScript 5&#34;。
  4. 我相信ECMAScript 5目前是默认的。您现在也可以选择ECMAScript 3或ECMAScript 6作为目标。

答案 3 :(得分:2)

指示TSC.EXE生成ES5兼容代码的开关是--target ES5(注意双破折号)。

每个项目都有一个名为[Something] .csproj的文件(在我们的例子中是C#项目)。使用记事本打开该文件,然后查找Target xml元素。通过添加--target ES5来更改exec命令。

在:

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

后:

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

答案 4 :(得分:1)

使用Studio 2012,项目模板类型TypeScript构建,在项目csproj文件中设置为ES3

ES3

将其更改为ES3至ES5,保存并重新加载项目。