我在生产中有angular 8前端应用程序,并且其加载模块脚本失败:服务器以非JavaScript MIME类型“ text / html”响应。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
这个问题只发生在并非总是如此的生产版本中,有时只能复制。
main-es2015.fcc7123d15fd9c113b00.js:1
vendor-es2015.d8d7d81cc2b06ece8c91.js:1
我该如何解决。
答案 0 :(得分:0)
您正在使用serviceWorker吗?
如果是这样,则必须在内部使用angular.json "serviceWorker": true
添加所用的配置。
答案 1 :(得分:0)
我想与我在工作所在的组织中遇到的相同问题分享经验。
我有一个Angular 9应用程序,当我部署到Stage环境时,我的控制台出现三个错误,显示为“由于Mime类型而导致模块未加载”。在所有其他环境下,此方法都可以正常工作,经过大量的努力,发现该网站下的文件无法访问。例如。部署Angular应用程序时,将获得index.html文件和许多其他js文件。该网站存在权限问题。该网站托管在Rackspace中,并且防火墙未配置为可以访问网站正下方的文件。
一旦提供了以下访问权限,该应用便开始运行。
我对您的问题的唯一区别是您提到它有时会起作用。
还有另一篇文章Blocked because of a disallowed MIME type (“text/html”) : Angular 8 deployed on tomcat 9.0.30 fails to serve the assets尝试基于基本引用的解决方案,因为这些js文件未提供/未加载
我希望这可以对某人有所帮助。