28

我希望我的 IIS 正确显示 .ts 文件,TypeScript 是否有任何 MIME 类型?text/javascript 或类似的也可以工作,但有规范吗?

我已经查阅了语言规范,但没有找到任何线索。

4

5 回答 5

29

最好知道为什么要提供 TypeScript 文件。

据我了解,TypeScript 用于编译为 Javascript,然后在浏览器中执行。目前,没有对 TypeScript 的原生支持(如果我错了,请纠正我)。

如果您仍想通过 IIS 提供 .ts 文件,您仍然可以在 IIS Admin 中添加与 .ts 关联的自定义 mime-type 。该标准定义了前缀x.,vnd.prs., 和 vnd。前缀也列在标准化的 mime 类型text/application/中。

因此,根据您的使用情况,您可以选择text/x.typescripttext/prs.typescript

于 2012-11-03T22:15:53.183 回答
22

将其粘贴在您的 web.config 中;

<configuration>
    ...
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".ts" mimeType="application/x-typescript" />
        </staticContent>
    </system.webServer>
</configuration>
于 2014-04-13T19:03:57.847 回答
1

Deno用于application/typescript提供 TypeScript 文件,允许您通过以下方式运行它们:

deno run "https://example.com/file.ts"
于 2021-09-01T05:08:44.097 回答
0

您可能还需要注释掉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.]
于 2014-12-28T23:14:24.310 回答
0

使用 Apache 2,我只需将 MIME 类型设置为 text/plain。这解决了我得到奇怪结果的问题,因为报告的 MIME 类型是某种视频格式。

您可以在 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
于 2016-03-03T03:33:10.273 回答