繁体   English   中英

es6 import using.mjs后缀因MIME错误而失败

[英]es6 import using.mjs suffix fails with MIME error

在最新的Chrome浏览器中

import foo from '../dist/foo.mjs'

失败了

无法加载模块脚本:服务器使用非JavaScript MIME类型“”进行响应。 对每个HTML规范的模块脚本强制执行严格的MIME类型检查。

但是如果我将文件复制到foo.js

import foo from '../dist/foo.js'

作品!

我正在使用带有localhost路径和最新chrome的mac os x内置Apache服务器。

所以es6导入在浏览器中对于.mjs的首选节点后缀很敏感。

导入是在一个带有<script type="module">的html文件中,而不是单独的模块文件,但我怀疑这是问题所在。

有针对这个的解决方法吗?。

您需要使用以下htaccess指令来发布.htaccess文件或扩展Apache配置文件,以便服务器输出具有正确MIME类型的mjs扩展名的文件:

<IfModule mod_mime.c>
  AddType text/javascript js mjs
</IfModule>

当然,需要安装并启用mod_mime才能使其正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM