Мне интересно, есть ли способ использовать TypeScript в файлах Razor cshtml?
Например, что-то вроде этого
<script language="text/typescript">
/// typescript goes here
</script>
Мне интересно, есть ли способ использовать TypeScript в файлах Razor cshtml?
Например, что-то вроде этого
<script language="text/typescript">
/// typescript goes here
</script>
TypeScript - не время выполнения; он перекрестно скомпилирован в JavaScript. В результате вам нужно будет написать свой TypeScript, скомпилировать его, а затем включить либо в теги JavaScript script, либо как внешний файл.
Это возможно. Я разработал TypeScript Compile - автоматический компилятор TypeScript для JavaScript на лету. Попробуйте!
Позвольте мне добавить к Robs ответ, что технически возможно встроить компилятор typescript в загрузку страницы и иметь код компиляции браузера, написанный в тегах <script language="text/typescript">
.
Однако производительность была бы субоптимальной, и предпосылка на сервере была бы предпочтительной. Технически ничто не мешает препроцессору делать это (T4 может это сделать).
Я только что проверил с моим любимым VS-расширением: Основные веб-сайты
Они уже включили компиляцию файла .ts при сохранении (рекомендуется также использовать оригинальный плагин для Intellisense).
Это, очевидно, работает только для файлов .ts. На мой взгляд, как только вы достигнете сложности, чтобы выбрать typescript над javascript, вы должны использовать его в отдельном файле, так или иначе.
Вы можете вручную скомпилировать файлы TypeScript с помощью tsc.exe, а затем добавить полученный Javascript в свой проект или использовать инструмент, например Web Essentials, который компилируется при сохранении.
Поскольку компилятор может быть скомпилирован в Javascript, вы также можете позволить браузеру пользователя выполнять компиляцию "на лету" (за счет производительности и размера файла, компилятор довольно велик). Примером такого подхода является решение niutech.
Если вы используете Bundling and Minification, я только что выпустил реализацию IBundleTransform, которая компилирует TypeScript в Javascript. Он находится на GitHub и NuGet (Install-Package TypeScriptBundleTransform). Если вы еще не используете Bundling and Minification, это стоит посмотреть!