由于不允许的MIME类型(“ text / html”),模块被阻止

时间:2019-09-30 18:17:23

标签: javascript mime-types

令我惊讶的是,关于同一个问题的问题太多了,但哪里都找不到好的答案。实际上this问题甚至没有一个答案。无论如何,我的问题非常相似。在我决定将前端和后端都运行在同一端口(本例中为PORT 3000)之前,一切工作正常。我按照以下步骤操作:

  1. 使用ng build --prod来编译开发文件。一个dist文件夹已创建。
  2. 然后将所有服务器文件和dist文件夹上载到服务器。
  3. 然后使用pm2运行服务器。命令为pm2 start server.js

我知道这些行来自index.html的哪些地方:

  

script src =“ runtime-es2015.858f8dd898b75fe86926.js” type =“ module”

     

script src =“ polyfills-es2015.5728f680576ca47e99fe.js” type =“ module”

     

script src =“ runtime-es5.741402d1d47331ce975c.js” nomodule>

     

script src =“ polyfills-es5.7f43b971448d2fb49202.js” nomodule>

     

script src =“ main-es2015.ec7a803b995f0d691eeb.js” type =“ module”>

     

script src =“ main-es5.1cd51b4ce24f28c1391b.js” nomodule>

但是现在他们正在创建这些错误:

  

由于不允许的MIME类型(“ text / html”),阻止了从“ http://localhost:3000/runtime-es2015.858f8dd898b75fe86926.js”加载模块。

     

由于不允许的MIME类型(“ text / html”),阻止了从“ http://localhost:3000/polyfills-es2015.5728f680576ca47e99fe.js”加载模块。

     

由于不允许的MIME类型(“ text / html”),阻止了从“ http://localhost:3000/main-es2015.ec7a803b995f0d691eeb.js”加载模块。

我尝试设置type=text/javascript以及更多解决方案和技巧。但是什么都没用。

PS:Here是构建之前的整个项目。还可以查看其自述文件。

1 个答案:

答案 0 :(得分:0)

您遇到的问题是服务器找不到您的 javascript 文件。它返回一个带有状态代码的错误标头,例如 404(未找到)、401(未授权)和一个 html 页面,位于以下几行:

<html>
    <body>
    ERROR 404: NOT FOUND
</body>
</html>

由于浏览器需要一个 javascript 文件(脚本元素的默认 MIME 类型是 type="text/javascript"),所以当它收到一个 HTML 文件时会报错。

您可以在浏览器的开发人员工具中查看服务器响应(状态代码和实际 html)。转到“网络”选项卡,然后单击其中一个 javascript 文件以查看响应的标头和内容。