【问题标题】:Angular - Failed to load module script:Angular - 无法加载模块脚本:
【发布时间】:2020-01-11 23:29:59
【问题描述】:

我在生产中有 Angular 8 前端应用程序,它无法加载模块脚本:服务器以“text/html”的非 JavaScript MIME 类型响应。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。

此问题仅在生产构建中发生,但并非总是如此,有时只能重现。

main-es2015.fcc7123d15fd9c113b00.js:1

供应商-es2015.d8d7d81cc2b06ece8c91.js:1

我该如何解决?

【问题讨论】:

  • 你找到解决办法了吗?

标签: mime-types angular8


【解决方案1】:

你在使用 serviceWorker 吗? 如果是这样,您必须在 angular.json "serviceWorker": true 中添加您正在使用的配置。

【讨论】:

    【解决方案2】:

    我想分享我在我工作的组织中遇到的同样问题的经验。

    我有一个 Angular 9 应用程序,当我部署到 Stage 环境时,我的控制台中出现三个错误,显示为“由于 Mime 类型而未加载模块”。这在所有其他环境中都运行良好,经过一番努力,发现网站下的文件无法访问。例如。当你部署一个 Angular 应用程序时,你会得到 index.html 文件和许多其他的 js 文件。该网站存在权限问题。该站点托管在 Rackspace 中,并且未将 FireWall 配置为可以访问该网站下的文件。

    提供以下访问权限后,应用程序开始运行。

    • /资产*
    • /*.css
    • /*.js
    • /*.ico
    • /*.html

    我看到的与您的问题的唯一区别是您提到它有时会起作用。

    还有另一篇帖子Blocked because of a disallowed MIME type (“text/html”) : Angular 8 deployed on tomcat 9.0.30 fails to serve the assets尝试基于基本参考的解决方案,因为这些 js 文件未提供/加载

    我希望这可能对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-06-04
      • 1970-01-01
      • 2019-12-07
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      相关资源
      最近更新 更多