Firebase 托管中出现 Angular 8 的 Mime 错误

Mime error with Angular 8 in Firebase Hosting

我有一个 Angular 8 应用程序托管在 Firebase 上,并且在客户端 运行 Go-Astilectron(Astilectron 0.30 和 Electron 4.0.1)。

问题是我的一些客户端出现了以下错误(它发生在 Angular 代码加载时,所以 Astilectron 只显示一个空白页面):

Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
main-es2015.5a90aaf45a8347384655.js:1 

Failed to load module script: The server responded with a non-JavaScript MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

在某些情况下,我们通过重新加载页面设法解决了这个问题,但在其他情况下,无论我做什么,页面都不会加载。

我做了一些研究,发现这可能与注册 Service Worker 的应用程序有关,但这不是我的情况。

此外,由于我使用 Firebase 托管为静态站点提供服务,因此我没有进行任何 MIME 配置。

谁能帮帮我?

确保 index.html 中的 head 包括:

<base href="/">

参见:https://github.com/angular/angular-cli/issues/10325#issuecomment-399329033

当 运行 Python 服务器在 Windows 机器上未正确设置注册表 mime 类型时,也会发生此错误。

参见:https://github.com/pallets/flask/issues/1045#issuecomment-42202749

我通过 运行 npm cache clear -f 然后刷新浏览器解决了这个问题。

希望对您有所帮助!

对我来说,浏览器的清空缓存和硬重载已经解决了这个问题。

我遇到了这个问题。

转到 angular.js 并检查 "outputPath" 的值。如果设置为 "dist/your-project-name" 之类的设置,请尝试将其更改为 "dist/",重新部署,然后对您的网站进行硬刷新 (Ctrl+F5)。