Tan*_*eel 5 javascript mime-types
我很惊讶关于同一个问题有这么多问题,但在任何地方都没有好的答案。事实上,这个问题甚至没有一个单一的答案。无论如何,我的问题非常相似。在我决定在同一个端口(在我的情况下为 PORT 3000)上运行我的前端和后端之前,一切正常。我按照以下步骤操作:
ng build --prod编译开发文件。一个dist文件夹的创建。pm2 start server.js.好吧,我知道这些行是从哪里进来的index.html:
脚本 src="runtime-es2015.858f8dd898b75fe86926.js" type="module"
脚本 src="polyfills-es2015.5728f680576ca47e99fe.js" type="module"
脚本 src="runtime-es5.741402d1d47331ce975c.js" nomodule>
脚本 src="polyfills-es5.7f43b971448d2fb49202.js" nomodule>
脚本 src="main-es2015.ec7a803b995f0d691eeb.js" type="module">
脚本 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:这是构建前的整个项目。也可以查看它的 README。
djv*_*jvg 11
也许与OP没有直接关系,但可能会帮助其他最终到达这里的人。
如果您的导入语句没有.js扩展名,则可能会出现相同的错误。
例如,在 Firefox (v94) 中进行本地开发期间,尝试从同一文件夹中的“模块”导入的主脚本将生成错误,如下所示:
import { MyClass } from './my_module';
Run Code Online (Sandbox Code Playgroud)
这可以通过添加扩展来修复.js:
import { MyClass } from './my_module.js';
Run Code Online (Sandbox Code Playgroud)
您遇到的问题是服务器找不到您的 javascript 文件。它返回一个错误标头,其中包含状态代码,如 404(未找到)、401(未经授权)和一个 html 页面,如下所示:
<html>
<body>
ERROR 404: NOT FOUND
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
由于浏览器需要一个 javascript 文件(脚本元素的默认 MIME 类型是type="text/javascript"),因此当它收到 HTML 文件时,它会抱怨。
您可以在浏览器的开发人员工具中查看服务器响应(状态代码和实际的 html)。转到“网络”选项卡并单击其中一个 javascript 文件以查看响应的标头和内容。
| 归档时间: |
|
| 查看次数: |
4307 次 |
| 最近记录: |