HTML 导入 http://www.w3.org/TR/2013/WD-html-imports-20130514/是的一部分网络组件 http://www.w3.org/TR/components-intro/规范并提供一种处理 Web 依赖性的方法。 ES6 模块也做同样的事情,但只是针对 Javascript 代码。
这两者将如何合作有明确的说明吗?
编辑:一个例子:在我最近的一个项目中,我有两个 Javascript 组件(文件),其中一个依赖于另一个,但任何 HTML 代码(这是另一个组件)都可以使用它们中的任何一个。因此,当我在 HTML 中包含依赖脚本时,我不想也包含父脚本(避免手动依赖处理)。除了将 ES6 模块与脚本包含混合之外,似乎没有明确定义的方法可以做到这一点。我看到的唯一选择是为每个组件维护一个单独的文件,并指定所需的文件和依赖项,例如 component.io 所做的。
Web 组件如何与 ES6 模块交互尚未最终确定,但至少有两种选择。
ES6 有这样的概念realms https://gist.github.com/dherman/7568885。如果两个 iFrame 中有 JavaScript,则这两个 iFrame 可以相互通信并来回传递数据。但他们属于不同的领域。这意味着您可以修改Array.prototype
对象在其中一个而不影响另一个。每个 Web 组件很可能都有自己的领域,因此它们不会相互干扰。
每个领域都有一堆全局对象,其中包括(很可能,规范尚未最终确定)Loader
目的。您可以创建一个新实例Loader
并用它来加载模块。领域中已经存在一个,这是默认的。每个Loader
实例有它自己的已定义模块列表,因此每个 Web 组件都可以有它自己的Loader
实例。
我不确定网络组件是否会被赋予不同的Realms
或不同Loader
对象,但不同的 Web 组件很可能无法相互干扰。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)