You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js突发错误:拒绝执行worker.ts脚本,因其MIME类型video/mp2t不可执行

问题根本原因

你遇到的是Next.js开发服务器的已知MIME类型映射bug,.ts后缀被错误匹配到了MPEG-TS视频流的video/mp2t类型,和你写的worker业务代码无关,你的代码逻辑没有语法错误。

可行解决方案

  • 优先清理缓存重启服务:停止当前运行的Next.js开发服务,依次删除.next缓存目录、node_modules/.cache目录,再重新执行npm run dev启动服务,90%以上的同类缓存类问题都会被修复。
  • 如果清理缓存无效,可在next.config.js中配置响应头强制指定worker文件的MIME类型,配置示例如下:
// next.config.js
module.exports = {
  async headers() {
    return [
      {
        source: '/workers/:path*.ts',
        headers: [
          {
            key: 'Content-Type',
            value: 'application/javascript',
          },
        ],
      },
    ]
  },
}
  • 临时规避方案:给worker的URL添加随机查询参数跳过缓存,修改示例:
const zipper = new Worker(
  new URL('../workers/zipper.worker.ts?nocache=' + Date.now(), import.meta.url),
);
  • 额外注意:你当前的代码是在worker内部嵌套创建另外两个子worker,Next.js开发模式对嵌套worker的编译处理存在缺陷,如果以上方案都无效,可先将嵌套worker的逻辑迁移到主线程测试验证。

内容的提问来源于stack exchange,提问作者polisen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:36:04