Проблемы VS2015 RTM Angular2/TypeScript

Как исправить ошибки, о которых сообщает VS2015 ниже?

Я использую VS2015 RTM и создал очень простое веб-приложение angular 2 (как показано на angular.io). Когда я создаю решение, я получаю следующие две ошибки:

  • ошибка TS1148: сборка: не удается скомпилировать модули, если не указан флаг --module.

Я пытался исправить это с помощью tsconfig.json, но безуспешно.

  • ошибка TS1219: сборка: экспериментальная поддержка декораторов — это функция, которая может быть изменена в будущем выпуске. Укажите '--experimentalDecorators', чтобы удалить это предупреждение.

Я попытался исправить это, добавив элемент TypeScriptExperimentalDecorators в файл csproj и установив для него значение true, но это не устранило ошибку.

Какие-либо предложения?


person Bonneville    schedule 30.07.2015    source источник
comment
Как выглядит ваш tsconfig.json? См. этот (от другого пользователя SO, не моего) и этот один из ngconf2015demo.   -  person Eric Martinez    schedule 31.07.2015
comment
Я запускаю это из командной строки: tsc --watch -m commonjs -t es5 --emitDecoratorMetadata --experimentalDecorators your-file.ts   -  person TGH    schedule 01.08.2015
comment
@EricMartinez мой tsconfig.json был правильным, но VS2015 RTM не распознает его. Возможно, MS изменит это (надеюсь) в будущем обновлении.   -  person Bonneville    schedule 05.08.2015
comment
@TGH Спасибо за предложение, но я хотел, чтобы VS2015 автоматически транспилировал файл ts после редактирования. Теперь это работает. Смотрите посты ниже.   -  person Bonneville    schedule 05.08.2015


Ответы (2)


Та же проблема здесь. Нашел этот обходной путь:

  1. Измените "Microsoft.TypeScript.Default.props" ("C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript), изменив/добавив следующие свойства:
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
<TypeScriptEmitDecoratorMetadata>True</TypeScriptEmitDecoratorMetadata>
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
  1. Добавить/изменить те же свойства в файле проекта

Примечание. Экспериментальные декораторы выглядят включенными только в том случае, если они включены в оба файлах.

person Rox    schedule 03.08.2015
comment
Я заставил свою работать, просто изменив файл csproj. Я также проверил свой файл Microsoft.TypeScript.Default.props, и у меня нет соответствующих свойств, установленных в этом файле. Имейте в виду, что в файле csproj есть две области (одна для отладки и одна для выпуска), где вам необходимо внести эти изменения. Возможно, вы не сделали их в обоих местах - поэтому вам это нужно в файле реквизитов по умолчанию. [?] - person Bonneville; 05.08.2015
comment
В моем случае изменения обеих областей в csproj (в двух разных корпоративных установках vs2015) было недостаточно. Самое странное для меня то, что экспериментальный Deocorator включается, только если они включены в обоих файлах. Если я удалю запись в файле по умолчанию или установлю для нее значение false, конфигурация csproj не будет учитываться. Если я включу декораторы в файле по умолчанию, они будут включены или нет в зависимости от настройки файла csproj. Странный - person Rox; 05.08.2015
comment
Ты прав! Если я создаю проект в VS2015 RTM, используя шаблон для проекта HTML-приложения TypeScript, то достаточно просто установить эти свойства в csproj. Однако, если я создаю проект с использованием шаблона MVC, мне нужно установить свойства в обоих местах, как вы указали. Спасибо за помощь! - person Bonneville; 06.08.2015
comment
не воскрешать старый пост или что-то в этом роде, но я попробовал это в VS2015, и он все еще показывает декораторы свойств как ошибки. Любые другие идеи? о.о - person Ixonal; 18.09.2015
comment
Я снова столкнулся с той же проблемой после обновления до TypeScript 1.6. VS2015 попросил меня обновить версию машинописного текста, и после этого были включены экспериментальные декораторы. Оказалось, что в .csproj для активной конфигурации был создан дублированный раздел машинописи конфигурации. - person Rox; 23.09.2015

TS1219 смотрите здесь: http://dotnetspeak.com/2015/06/angular-2-in-visual-studio-2015-with-typescript

Вы можете установить для свойства TypeScriptExperimentalDecorators значение true в файле проекта.

person Marc Schluper    schedule 01.08.2015
comment
К сведению: не забудьте установить свойство TypeScriptExperimentalDecorators в областях Debug AND Release файла csproj. Я поместил его в область выпуска и работал в режиме отладки! - person Bonneville; 03.08.2015