浏览器报错:无法执行sandbox.ts脚本,MIME类型(video/mp2t)不可执行求助
解决TS脚本因MIME类型错误无法执行的问题
问题核心
浏览器把你的.ts文件识别成了视频格式(MIME类型video/mp2t),而非可执行的TypeScript脚本,因此拒绝执行。这一般是本地服务器配置错误,没给.ts文件设置正确的MIME类型导致的。
具体解决方案
1. 编译TS为JS再运行
浏览器本身不支持直接执行TypeScript文件,必须先编译成JavaScript:
- 执行编译命令:
tsc sandbox.ts - 在HTML里引用生成的
sandbox.js,而非原.ts文件:<script src="./sandbox.js"></script>
2. 修正本地服务器的MIME类型配置
如果需要直接处理.ts文件(比如用ES模块配合TS的import语法),得修改服务器的MIME映射,把.ts关联到application/typescript或text/typescript:
- VS Code Live Server插件:
在项目根目录创建.vscode/settings.json,添加配置:{ "liveServer.settings.mimeTypes": { ".ts": "application/typescript" } } - http-server工具:
启动时指定MIME映射:http-server -m ".ts=application/typescript"
3. 避免文件命名冲突
别把TS文件命名成容易和视频文件混淆的名称(比如video.ts),部分服务器会根据后缀的常见用途自动分配错误的MIME类型。
内容的提问来源于stack exchange,提问作者Abdullah Paracha
相关产品推荐
相关产品推荐

