Cloudfront 以 Text/plain 的 Mime 类型提供 javascript 个文件

Cloudfront serving javascript files as Mime type of Text/plain

静态托管在 S3 上的 Vue 应用程序通过 HTTP 正确提供 JS 文件,但是当通过链接的 CloudFront URL 访问站点时,该应用程序不会加载,因为 javascript 从服务器作为文本类型。我可以更改任何设置来解决这个问题吗?如果您能提供帮助,非常感谢。 index.html dist 文件夹中的源代码:

    <link rel="stylesheet" href="/font/inter.css" />
  <script type="module" crossorigin src="/assets/index.74e9a26f.js"></script>
  <link rel="modulepreload" href="/assets/vendor.cb99a641.js">
  <link rel="stylesheet" href="/assets/index.7303d77a.css">
</head>
  <body>
    <div id="app"></div>

HTTP site directly to S3

Same settings but on cloudfront HTTPS link

jellycsc 解决了我的问题。我只需要在 S3 控制台中手动将各个 js 对象的系统定义内容类型从 text/plain 更改为 application/javascript,然后确保缓存已失效并在我的浏览器上刷新。