令我惊讶的是,关于同一个问题的问题太多了,但哪里都找不到好的答案。实际上this问题甚至没有一个答案。无论如何,我的问题非常相似。在我决定将前端和后端都运行在同一端口(本例中为PORT 3000)之前,一切工作正常。我按照以下步骤操作:
ng build --prod
来编译开发文件。一个dist
文件夹已创建。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是构建之前的整个项目。还可以查看其自述文件。
答案 0 :(得分:0)
您遇到的问题是服务器找不到您的 javascript 文件。它返回一个带有状态代码的错误标头,例如 404(未找到)、401(未授权)和一个 html 页面,位于以下几行:
<html>
<body>
ERROR 404: NOT FOUND
</body>
</html>
由于浏览器需要一个 javascript 文件(脚本元素的默认 MIME 类型是 type="text/javascript"
),所以当它收到一个 HTML 文件时会报错。
您可以在浏览器的开发人员工具中查看服务器响应(状态代码和实际 html)。转到“网络”选项卡,然后单击其中一个 javascript 文件以查看响应的标头和内容。