使用 type=”module” 在 html 中直接引入 ES6 语法模块
<script type="module" src="./sdk/error/error.js"></script>
此代码使用 import 引入了另外一个模块
预览 html 提示如下错误
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
属性。
此时确认是否是因为延迟加载,导致监听事件未生效等
参考: