Chrome 中缓存的 js 文件未捕获 SyntaxError: Unexpected token <

bes*_*hes 6 browser google-chrome amazon-cloudfront

我在 s3 中有一个 javascript 文件,并由 cloudfront 缓存提供服务。但有时它开始显示

Uncaught SyntaxError: Unexpected token
Run Code Online (Sandbox Code Playgroud)

在控制台中并且根本不加载。

在此输入图像描述

但是当我在隐身窗口中打开相同的网址时,它工作得很好。该js文件是由react create app生成的,文件大小为2.05MB。

更新 问题看起来与Service Worker类似。因为js文件从缓存返回时内容类型设置为text/html。看到这个浏览器尝试渲染 js 并失败。即使文件的内容与预期不同,返回的不是 js 文件,而是我的 index.html。但是错误的文件怎么能被缓存呢?在此输入图像描述