Я хочу, чтобы IIS правильно отображал файлы .ts, есть ли MIME-тип для TypeScript? текст /javascript или аналогичные могут также работать, но существуют ли для этого спецификации?
Я уже просмотрел спецификацию языка, но я не нашел подсказки.
Я хочу, чтобы IIS правильно отображал файлы .ts, есть ли MIME-тип для TypeScript? текст /javascript или аналогичные могут также работать, но существуют ли для этого спецификации?
Я уже просмотрел спецификацию языка, но я не нашел подсказки.
Было бы хорошо знать, почему вы хотите обслуживать файлы TypeScript.
Насколько я понимаю, TypeScript используется для компиляции в Javascript, который затем выполняется в браузере. В настоящее время нет встроенной поддержки TypeScript (исправьте меня, если я ошибаюсь).
Если вы все еще хотите обслуживать файлы .ts через IIS, вы все равно можете добавить пользовательский тип mime в Admin IIS, связанный с .ts. Стандарт определяет префиксы x.
, vnd.
и prs.
, а vnd. префикс также указан в стандартизованных типах mime text/ и application/.
Итак, в зависимости от вашего использования вы можете выбрать text/x.typescript
или text/prs.typescript
.
Вставьте это в свой web.config;
<configuration>
...
<system.webServer>
<staticContent>
<mimeMap fileExtension=".ts" mimeType="application/x-typescript" />
</staticContent>
</system.webServer>
</configuration>
Вам также может потребоваться прокомментировать TypeScriptAssetHandler
, который преобразует файлы .ts в javascript.
<handlers>
<!--<add name="TypeScriptAssetHandler" path="*.ts" verb="GET" type="BundleTransformer.TypeScript.HttpHandlers.TypeScriptAssetHandler, BundleTransformer.TypeScript" resourceType="File" preCondition="" />-->
</handlers>
В этом случае вы можете получить такие ошибки, если этот обработчик определен
[HttpException (0x80004005): During the output text content of processed asset an unknown error has occurred.
See more details:
Exception has been thrown by the target of an invocation.]
Используя Apache 2, я просто устанавливаю MIME Type в text/plain. Это решило мою проблему, когда я получал странные результаты, так как в MIME Type сообщался какой-то видеоформат.
В конфигурации Apache 2 можно выполнить следующее:
<filesMatch "\.(html|htm|js|css|ts|ts!transpiled)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>
AddType text/plain ts