我收到此错误:
无法加载模块脚本:服务器以非 JavaScript MIME 类型“”响应。根据 HTML 规范对模块脚本执行严格的 MIME 类型检查。
该项目从本地文件运行,例如: file:///D:/path/project.html
。
在 Firefox 中运行没有问题,但在 Google Chrome 中不起作用。我想出于开发目的以这种方式对其进行测试 - 它比创建服务器并记住它所在的端口更舒服。
原文由 Tomáš Zato 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您收到此错误消息,则表示这不是同源问题。
如错误消息中所述,真正的问题是模块脚本要求脚本文件的 MIME 是 javascript MIME 类型之一。
您的文件系统不提供任何 MIME,因此加载失败。
所以最好的解决方案显然是在本地服务器上运行代码,而不是在文件系统上。
但是既然你坚持;) 一个解决方法是首先使用 XHR (
fetch
不能用于file://
协议) 将你的脚本文件作为 Blob 获取,然后强制其type
属性是 js MIME 之一,并将你的<script>
的 src 设置为指向此 Blob 的 blobURI。但是,您将无法
import
模块中的任何依赖项。