Включить файлы TypeScript в azure git deploy

Я пытаюсь включить файлы TypeScript в мое автоматическое развертывание git, чтобы продемонстрировать код для фреймворка, который я создаю. Однако всякий раз, когда я развертываю на azurewebsites, развертывание не включает файлы TypeScript.

Рассматриваемый сайт: http://endgate-samples.azurewebsites.net/Samples/AnimatedSprites/

Что я пробовал:

  1. Скопируйте все файлы TypeScript в выходную папку, установив для свойств TypeScript значение «Копировать всегда». Проблема в том, что мне нужно изменить ссылки на все файлы (не хочу этого делать).

  2. Конвейер MSBuild. Это работает для развертывания в файловой системе, но не для веб-развертывания... https://github.com/NTaylorMullen/EndGate/blob/master/EndGate/samples/EndGate.Core.JS.Samples/EndGate.Core.JS.Samples.csproj#L896-L909.

  3. Ручная публикация на конечной точке FTP (работает как шарм), но не автоматическая. Также требуется конвейер msbuild (#2)

Что я делаю неправильно или что я могу сделать (чего я не пробовал), чтобы мои файлы TypeScript развертывались автоматически?


person N. Taylor Mullen    schedule 17.05.2013    source источник
comment
Очень нравится # ссылка на строки файла. Не знал, что ты так умеешь. Вручную изменили URL?   -  person basarat    schedule 17.05.2013
comment
Нет, просто нажмите на начальную строку, зажмите Shift и нажмите на конечную строку.   -  person N. Taylor Mullen    schedule 17.05.2013
comment
сладкий совет. Спасибо друг.   -  person basarat    schedule 17.05.2013
comment
Будет ли это работать на данный момент - github.com/projectkudu/kudu/issues/556?   -  person Pranav    schedule 18.05.2013
comment
К сожалению, нет, это создаст файлы машинописного текста и соберет полученные файлы JS для развертывания, но не будет включать исходные файлы .ts. У меня развернут сгенерированный JS, но файлы TS просто полностью игнорируются, даже со всеми моими дополнительными обходными путями.   -  person N. Taylor Mullen    schedule 18.05.2013


Ответы (1)


Итак, после большой работы выясняется, что часть конвейера msbuild (№ 2) фактически развернет файлы машинописного текста. Одна вещь, которую мне не хватало, — это добавление соответствующего типа mime для обработки файлов машинописного текста.

Оказывается, по умолчанию IIS не будет правильно обслуживать файлы TypeScript.

Чтобы добавить пользовательский тип mime, я сделал:

<system.webServer>
    <staticContent>
      <remove fileExtension=".ts"/>
      <mimeMap fileExtension=".ts" mimeType="text/plain" />
    </staticContent>
</system.webServer>

Важно, чтобы мы удалили существующий тип mime .ts (если он есть) перед добавлением типа mime. Если вы развертываете на машине, которая уже имеет тип mime .ts, и вы не удаляете его перед добавлением, это в значительной степени уничтожит ваши существующие сопоставления и не сможет обслуживать какие-либо файлы css, js и т. д.

Это была битва, но я, наконец, заработал, надеюсь, это поможет кому-то еще в будущем!

person N. Taylor Mullen    schedule 19.05.2013
comment
+1 Эпическая работа над помощником по библиотеке: endgate-samples.azurewebsites.net Помечено: github.com/NTaylorMullen/EndGate - person basarat; 20.05.2013
comment
Ха-ха, спасибо @BASarat, это все еще в работе, но это должно быть сделано в ближайшее время! - person N. Taylor Mullen; 20.05.2013