我想让我的IIS正确显示.ts文件,是否有任何MIME类型的TypeScript?文字/ JavaScript或类似的也可以工作,但有规范吗?什么是TypeScript的MIME类型?
我已经抬头看language specification但我没有找到任何线索。
我想让我的IIS正确显示.ts文件,是否有任何MIME类型的TypeScript?文字/ JavaScript或类似的也可以工作,但有规范吗?什么是TypeScript的MIME类型?
我已经抬头看language specification但我没有找到任何线索。
这将是很好的知道为什么你想服务的TypeScript文件。
据我所知,TypeScript被用来编译成Javascript,然后在浏览器中执行。目前,没有本地支持TypeScript(纠正我,如果我错了)。
如果您仍希望通过IIS提供.ts文件,则仍然可以在与.ts关联的IIS Admin中添加custom mime-type。该标准定义了前缀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类型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
谢谢!这对我来说很好。 – Zwirbelbart
提供TypeScript文件的一个很好的理由是,当您使用源映射功能时,浏览器(例如Chrome)需要下载各种原始.ts文件,这些文件进入实际执行的.js文件。 –
或者对于一个网页打字稿编辑器,它使用.d.ts文件进行语法检查/自动完成 – Guillaume86