当我看到这个声明时,我正在查看标签的WHATWG规范async
和defer
属性:<script>
我浏览了经典和模块脚本的 WHATWG 定义,但并没有真正弄清楚。简单来说,JavaScript 中的经典脚本和模块脚本有什么区别?
当我看到这个声明时,我正在查看标签的WHATWG规范async
和defer
属性:<script>
我浏览了经典和模块脚本的 WHATWG 定义,但并没有真正弄清楚。简单来说,JavaScript 中的经典脚本和模块脚本有什么区别?
以下是我从各种文章中注意到的差异。如果您想了解更多详细信息,请阅读网络上的完整文章:
经典脚本就是您所知道的标准 JavaScript 脚本。模块脚本是包含ES6 模块的脚本,即它使用(或:可以使用)import
和export
声明。
从§8.1.3.8 与 JavaScript 模块系统集成:
JavaScript 规范定义了模块的语法,以及它们处理模型的一些与主机无关的部分。该规范定义了其余的处理模型:如何通过属性设置为 的
script
元素引导模块系统,以及如何获取、解析和执行模块。 [JAVASCRIPT]type
"module"
注意:尽管 JavaScript 规范是用“脚本”与“模块”来表述的,但总的来说,该规范是用经典脚本 与模块脚本来表述的,因为它们都使用了 script 元素。