Подтвердить что ты не робот

Что такое MIME-тип TypeScript?

Я хочу, чтобы IIS правильно отображал файлы .ts, есть ли MIME-тип для TypeScript? текст /javascript или аналогичные могут также работать, но существуют ли для этого спецификации?

Я уже просмотрел спецификацию языка, но я не нашел подсказки.

4b9b3361

Ответ 1

Было бы хорошо знать, почему вы хотите обслуживать файлы TypeScript.

Насколько я понимаю, TypeScript используется для компиляции в Javascript, который затем выполняется в браузере. В настоящее время нет встроенной поддержки TypeScript (исправьте меня, если я ошибаюсь).

Если вы все еще хотите обслуживать файлы .ts через IIS, вы все равно можете добавить пользовательский тип mime в Admin IIS, связанный с .ts. Стандарт определяет префиксы x., vnd. и prs., а vnd. префикс также указан в стандартизованных типах mime text/ и application/.

Итак, в зависимости от вашего использования вы можете выбрать text/x.typescript или text/prs.typescript.

Ответ 2

Вставьте это в свой web.config;

<configuration>
    ...
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".ts" mimeType="application/x-typescript" />
        </staticContent>
    </system.webServer>
</configuration>

Ответ 3

Вам также может потребоваться прокомментировать 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.]

Ответ 4

Используя 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