模块背景
JavaScript 程序开始时很小——早期它的大部分用途是执行独立的脚本任务,在需要的地方为您的网页提供一些交互性,因此通常不需要大型脚本。快进几年,我们现在有完整的应用程序在浏览器中运行,其中包含大量 JavaScript,以及在其他上下文中使用的 JavaScript(例如Node.js)。
因此,近年来开始考虑提供将 JavaScript 程序拆分为可以在需要时导入的单独模块的机制是有道理的。Node.js 已经拥有这种能力很长时间了,并且有许多 JavaScript 库和框架支持模块使用(例如,其他通用JS 和 AMD基于模块系统,如 需要JS,以及最近 网络包 和 通天塔)。
好消息是现代浏览器已经开始原生支持模块功能,这就是本文的全部内容。这只能是一件好事 - 浏览器可以优化模块的加载,使其比必须使用库并执行所有额外的客户端处理和额外的往返更有效。