Javascript nomodule和;类型=";模块";IE 11的工作方式不同
我在一个应用程序中测试Javascript nomodule和;类型=";模块";IE 11的工作方式不同,javascript,vue.js,internet-explorer-11,Javascript,Vue.js,Internet Explorer 11,我在一个应用程序中测试nomodule和type=“module”的功能。我使用了chrome,它只下载了type=“module”标签中的文件,这是预期的。但当我在IE11中测试它时,我的娱乐文件从两个脚本标签下载 我已附上这些图片以供参考。请帮助我理解这种行为 index.html 自定义元素演示 我认为这是由于不同浏览器中使用的JS引擎不同 从中,我们可以看到nomodule和type=“module”属性仅确保脚本是否将被执行,但无法确保脚本是否将被下载: nomodule 此布尔
nomodule
和type=“module”
的功能。我使用了chrome,它只下载了type=“module”
标签中的文件,这是预期的。但当我在IE11中测试它时,我的娱乐文件从两个脚本标签下载
我已附上这些图片以供参考。请帮助我理解这种行为
index.html
自定义元素演示
我认为这是由于不同浏览器中使用的JS引擎不同 从中,我们可以看到
nomodule
和type=“module”
属性仅确保脚本是否将被执行,但无法确保脚本是否将被下载:
nomodule
此布尔属性设置为指示不应在支持ES2015模块的浏览器中执行脚本
模块
:将代码视为JavaScript模块
因此,我们只需要确保type=“module”
脚本不会在IE中执行,而nomodule
脚本将在IE中执行,这在Chrome中正好相反
返回JS引擎,作为JS引擎和JS引擎。您会发现脚本也将在Edge Legacy中下载。因此,我认为不同的JS引擎会导致不同的行为。请看,我在给定的链接中看不到任何解决方案,如果你看到了,请描述解决方案该解决方案在2020年不使用或不支持IE;)@多米尼克的评论毫无帮助。我认为,公平地说,除了非常小的公司或单人乐队团队之外,我们这些在技术细节上手忙脚乱的人不太可能也会影响企业选择支持哪些浏览器。虽然你的评论可能是在开玩笑,但对OP毫无帮助[如果你想知道为什么我没有解决方案,我在这里的处境和OP一样]。
<meta charset="utf-8">
<title>custom-element demo</title>
<script src="https://unpkg.com/vue"></script>
<script nomodule src="http://localhost:85/email-compose-legacy.min.js"></script>
<script type="module" src="http://localhost:85/email-compose.min.js"></script>
<email-compose-legacy></email-compose-legacy>