在最新的chrome浏览器中
import foo from '../dist/foo.mjs'
失败
无法加载模块脚本:服务器以非JavaScript MIME类型“”响应。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
但是如果我将文件复制到foo.js
import foo from '../dist/foo.js'
有效!
我正在使用具有本地主机路径和最新chrome的mac os x内置Apache服务器。
因此es6导入在浏览器中对.mjs的首选节点后缀敏感。
导入是带有<script type="module">
的html文件,而不是单独的模块文件,但是我怀疑这是问题所在。
对此有解决方案吗?
答案 0 :(得分:0)
您需要使用一个.htaccess
文件或使用以下htaccess指令扩展您的Apache配置文件,以便服务器输出具有正确MIME类型的mjs扩展名的文件:
<IfModule mod_mime.c>
AddType text/javascript js mjs
</IfModule>
当然,需要安装mod_mime
并使其启用。