Ориентация 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=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" -target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</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=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
После:
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" --target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
Ответ 5
Использование Studio 2012, тип шаблона проекта TypeScript сборка, в файле проекта csproj установлено значение ES3
ES3
Измените его на ES3 на ES5, сохраните его и перезагрузите проект.