使用 type=”module” 在 html 中直接引入 ES6 语法模块

    <script type="module" src="./sdk/error/error.js"></script>

    此代码使用 import 引入了另外一个模块

    预览 html 提示如下错误

    1. Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

    解决方案:

    es6 模块引入文件要补全后缀,如 import { xxx } from '../utils'; 需要改为 import { xxx } from '../utils/index.js';

    如果解决问题了,但代码未执行,以下供参考

    浏览器对于带有 type="module"<script> ,都是异步加载,不会造成堵塞浏览器,即等到整个页面渲染完,再执行模块脚本,等同于打开了 <script> 标签的 defer 属性。

    此时确认是否是因为延迟加载,导致监听事件未生效等

    参考: