bac*_*ces 3 javascript import module ecmascript-6
在最新的chrome浏览器中
import foo from '../dist/foo.mjs'
Run Code Online (Sandbox Code Playgroud)
失败了
无法加载模块脚本:服务器响应非 JavaScript MIME 类型“”。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。
但是如果我将文件复制到 foo.js
import foo from '../dist/foo.js'
Run Code Online (Sandbox Code Playgroud)
作品!
我正在使用带有 localhost 路径和最新 chrome 的 mac os x 内置 Apache 服务器。
因此,在浏览器中,es6 导入对首选节点后缀 .mjs 很敏感。
导入是在一个 html 文件中,<script type="module">
而不是一个单独的模块文件中,但我怀疑这就是问题所在。
有针对这个的解决方法吗?。
您需要使用.htaccess
以下 htaccess 指令使用文件或扩展 Apache 配置文件,以便服务器输出具有正确 MIME 类型的 mjs 扩展名的文件:
<IfModule mod_mime.c>
AddType text/javascript js mjs
</IfModule>
Run Code Online (Sandbox Code Playgroud)
当然,mod_mime
需要安装并启用它才能工作。
归档时间: |
|
查看次数: |
2846 次 |
最近记录: |