TypeScript не компилируется с WE3 и TS 0.9.1.1
Я только что обновился до последней версии WebEssentials v3, и файлы TS в моем проекте ASP MVC 4 больше не компилируются в JS. Я проверил, что параметры --> текстовый редактор --> TypeScript --> проект -- > автоматически компилировать файлы TypeScript, которые являются частью проекта опция отмечена, но ничего не происходит, когда я сохраняю или компилирую свой проект. Я попытался удалить существующее .js and .минута.JS-файлы, созданные WE2, но это не помогло. Я попытался добавить новый файл TS для моего проекта это и не создавало JS-файл. Я переустановил TS 0.9.1.1, и это не помогло.
Sooooo что делать? Я упускаю что-то очевидное? Что-то не работает или у меня просто неправильные ожидания?
Мне нужно вернуться в WE2?
Update: я даже создал совершенно новый проект ASP MVC 4 C#, чтобы проверить, что это был не только мой оригинальный проект, но и я получил те же результаты.
интересно, что я только что создал новый TypeScript проект и мои файлы TS, скомпилированные должным образом при сохранении... Это интересно..
4 ответов
есть некоторые ссылки в изменение входа из WE3, вот один описывает, как включить функцию компиляции при сохранении, см. http://typescript.codeplex.com/wikipage?title=Compile-on-Save для деталей.
Я создал пакет nuget под названием Ltc.MSBuild.TS0911WE3.targets
Что будет делать трюк для вас, просто откройте Package Manager Console
, типа Install-Package Ltc.MSBuild.TS0911WE3.targets
!
на Ltc.программа MSBuild.TS0911WE3.цели ВКЛ nuget.org.
Я не уверен, что это правильный метод решения проблемы, но вот что я сделал, чтобы получить "компиляцию при сохранении", работающую над моим проектом...
заметив, что компиляция при сохранении работала при запуске с нового HTML приложение с TypeScript project, Я сделал сравнение между этим и моим неработающим проектом ASP MVC. Оказывается, в моем проекте ASP MVC отсутствовал этот бит кода..
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES3</TypeScriptTarget>
<TypeScriptRemoveComments>false</TypeScriptRemoveComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptTarget>ES3</TypeScriptTarget>
<TypeScriptRemoveComments>true</TypeScriptRemoveComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />
копировать / вставлять это в мой проект ASP MVC дал мне компиляцию на поддержку сохранения снова. Конечно, это все еще не совсем то, что я ожидал. Результирующие файлы JS не добавляются в проект автоматически, так что это то, что я должен был сделать вручную. Мне также пришлось вручную сгруппировать файл JS с файлом TS, чтобы имитировать тот же опыт, который я получал с WE2.
надеюсь, что это кому-то поможет. Хотелось бы услышать некоторые отзывы о решении.
убедитесь, что ваш .файл proj имеет раздел XML TypeScriptCompile. Вы можете скопировать из проекта typescript, если его нет.
вот спецификация:https://msbuildtypescript.codeplex.com/
использование инструмента "Web essentials" (бесплатно, рекомендуется) включите панель предварительного просмотра в параметрах Web essentials
Инструменты --> Параметры --> Web essentials --> Typescript: Показать панель предварительного просмотра[X]
теперь каждый раз, когда вы сохраняете открытый файл TS, web essentials гарантирует, что файл компилируется (чтобы он мог отображать его), и вы можете обновить код javascript во время выполнения проекта.