2012-10-10 3 views
28

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

аксессоры собственности доступны только при ориентации ES5 или более

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

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

ответ

19

Вам необходимо передать -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> 
+0

Это сделало. Спасибо. – Ezward

2

Переключатель для инструктирования TSC.EXE генерировать ES5 совместимый код является --target ES5 (обратите внимание на двойной тир).

Каждый проект имеет файл под названием [Что-то] .csproj (проект C# в нашем случае). Откройте этот файл с помощью блокнота и найдите элемент 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;', ' ')" /> 
+0

Это работает. Благодарю. – Ezward

+0

Вот что у меня получилось. Это включает флаги для целевой ES5, модулей AMD и исходных кодов. В принципе, материал, который вы хотите для разработки браузера. < Exec Command =»" $ (Programfiles) \ SDKs Microsoft \ машинопись \ 0.8.0.0 \ ТСК " --target ES5 --module драм -sourcemap @ (TypeScriptCompile ->» " % (fullpath) " ',' ') "/> Ezward

1

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

ES3

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

+0

Я сделал это, и теперь я получаю сообщение об ошибке' 'tsc.exe', выведенное с кодом 1.' – daniel

20

Это было изменено с помощью 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

4

Я использую Visual Studio 2 013 Обновление 4 с помощью Web Essentials. Microsoft значительно упростила изменение целевой версии ECMAScript.

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

  1. правой кнопкой мыши имя проекта и выберите Свойства.
  2. В окне «Свойства» выберите «Конструкция машинописного текста»
  3. Установите версию ECMAScript в «ECMAScript 5».

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

+1

Это лучший ответ – Pakman

Смежные вопросы