Ориентация ES5 на TypeScript в Visual Studio

Я хотел бы использовать синтаксис get/set в TypeScript в Visual Studio Express для Интернета. Как включить это. В настоящее время я получаю эту ошибку при компиляции;

Атрибуты доступа к ресурсам доступны только при настройке ES5 или выше

Скомпилированный файл имеет действие сборки TypeScriptCompile. Я не знаю, как добавить необходимый компилятор из Visual Studio.

Любая помощь будет оценена.

Ответ 1

Вам нужно передать -target ES5 в компилятор. Компиляция запускается с использованием задачи msbuild в файле проекта. Возможно, у вашего файла проекта есть цель "TypeScriptCompile", например, onr, просто убедитесь, что передан целевой аргумент. Вот пример:

<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

Это изменилось с помощью TypeScript 0.8.2. Теперь вы изменяете TypeScriptTarget в файле .csproj:

<TypeScriptTarget>ES3</TypeScriptTarget>

to

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

См. также Ашер Барак отвечает

Ответ 3

Я использую Visual Studio 2013 Update 4 с веб-Essentials. Microsoft значительно упростила изменение целевой версии ECMAScript.

Теперь вы можете сделать следующее:

  • Щелкните правой кнопкой мыши имя вашего проекта и выберите "Свойства".
  • В окне "Свойства" выберите "Typescript Сборка"
  • Установите версию ECMAScript в "ECMAScript 5".

Я считаю, что ECMAScript 5 в настоящее время по умолчанию. В настоящее время вы также можете выбрать ECMAScript 3 или ECMAScript 6 в качестве целей.

Ответ 4

Коммутатор для инструктирования TSC.EXE для генерации ES5-совместимого кода: --target ES5 (обратите внимание на двойные тире).

Каждый проект имеет файл под названием [Something].csproj(проект С# в нашем случае). Откройте этот файл с помощью блокнота и найдите элемент Target xml. Измените команду exec, добавив --target ES5.

До:

 <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;', ' ')" />

Ответ 5

Использование Studio 2012, тип шаблона проекта TypeScript сборка, в файле проекта csproj установлено значение ES3

ES3

Измените его на ES3 на ES5, сохраните его и перезагрузите проект.