Mozilla 和 Web Components:更新

编辑注: Mozilla 在 参与标准制定 方面有着悠久的历史。下面的帖子展示了标准是如何进行辩论和采纳的。目的是更新那些受我们 Firefox 中实现决策影响最大的开发者。我们尤其希望获得 JavaScript 库和框架开发人员的反馈。

Mozilla 一直在 开发 Web Components — 一项包含 HTML 导入、自定义元素和 Shadow DOM 的技术 — 并将其在 Gaia(Firefox OS 的前端)中进行测试。不幸的是,我们对标准化流程的反馈并不总是能带来我们发布 Web Components 所需的改变。因此,我们决定与开发者社区成员重新评估我们的立场。

我们想出了以下在 Firefox 中发布 Web Components 的暂定计划,并且在我们推进这一计划的过程中,我们非常希望得到开发者社区的意见。Web Components 改变了 Web 平台的核心方面,将其做好非常重要。我们相信做到这一点的最佳方式是让 JavaScript 库开发者从中学到的宝贵经验来驱动这项改变。

  • Mozilla 不会发布 HTML 导入的实现。我们预计,一旦 JavaScript 模块 — 由开发者社区编写的 JavaScript 库衍生出的特性 — 发布,我们看待这个问题的方式将会发生改变。我们也从 Gaia 和其他人那里了解到,缺少 HTML 导入并不是问题,因为如果需要的话,可以用 polyfill 很容易地提供该功能。
  • Mozilla 将发布自定义元素的实现。公开生命周期是创建组件非常重要的一个方面。我们将与标准化社区合作,为回调使用 Symbol 命名的属性,以防止命名冲突。我们还将确保围绕子类化的策略与 JavaScript 中的最新工作相一致,并且回调足以描述元素的生命周期,或者至少可以朝那个方向改变。
  • Mozilla 将发布 Shadow DOM 的实现。我们认为需要做一些工作来将样式隔离与事件重新定位分离,以便在框架中实现事件委托,并且我们希望确保分发在选择器之外具有足够的扩展性。例如,Gaia 希望看到这种能力。

我们的下一步将是与标准化社区合作实现这些变化,确保在 web-platform-tests 中有足够的测试覆盖率,并确保规范变得足够详细,以便从中进行实现。

因此,请让我们知道您在评论中或直接在 public-webapps 标准列表中的想法!

关于 Anne van Kesteren

标准专家,对隐私和安全边界以及 Web 平台架构感兴趣 · 他/他

更多来自 Anne van Kesteren 的文章……


49 条评论

  1. Laurentj

    >Mozilla 不会发布 HTML 导入的实现

    HTML 导入不仅仅与 Web Components 相关。我不明白您不实现它的选择。您能详细说明一下这个决定吗?

    如果使用 polyfill 很容易实现它,为什么不原生实现它呢?这将避免开发者在他们的网页中添加另一个 polyfill 脚本。

    2014 年 12 月 15 日 下午 09:08

    1. 葉至柔

      +1

      2015 年 1 月 1 日 上午 10:54

  2. Ryan Frederick

    乍一看,我对此感到失望。也许当我花更多时间使用 Web Components 后,我的想法会改变,但对我来说,HTML 导入是一个非常关键的特性。ES6 模块很棒,但据我所知,它们只打包 JS。能够打包一个 Web Components(模板和所有相关资源)并在没有进一步依赖关系的情况下分发它,不仅具有吸引力和便利性,而且也是使 Web Components 整体成功的关键因素。

    我知道调和 ES6 模块和 HTML 导入可能是必要的步骤,但我希望 Mozilla 在经过一些考虑并与社区和其他供应商进行对话后,最终重新考虑实现 HTML 导入。

    2014 年 12 月 15 日 下午 09:23

    1. dima

      至少有一个 polyfill 可以实现它,为什么您需要它与浏览器一起发布?您认为它会快很多吗?我不这么认为。

      此外,Polymer 项目构建了一个名为“vulcanize”的工具,它将所有 HTML 部分粘合在一起:这将避免额外的网络请求,而网络请求实际上是您应该避免的。

      2014 年 12 月 15 日 下午 13:07

      1. laurentj

        一个 polyfill + 另一个 polyfill + 又一个 polyfill + …… 由于某些浏览器不支持某些技术,网站变得越来越臃肿。

        似乎一些 Web 开发者(和浏览器开发者)没有在现实生活中(例如,在大部分时间连接不良的情况下)对他们的网站进行移动测试。

        2014 年 12 月 15 日 下午 14:33

      2. Ivan

        有 jQuery,为什么您需要在浏览器中添加像 querySelector 这样的“原生函数”?

        我们可以永远使用 IE6 + jQuery!哇……

        jQuery > ALL

        /讽刺…

        2014 年 12 月 16 日 下午 04:21

      3. Erik isaksen

        关于 vulcanize — 我理解的是,一旦我们都使用 http2,拼接就不像现在这样必要了。从这个角度来看,vulcanize 是目前一个临时但必要的解决方案。也许我遗漏了什么,但这就是我的看法。ES6 模块与导入有截然不同的目的,因为它们只打包 JS。可移植性是 Web Components 的一项非常重要的功能。

        2014 年 12 月 17 日 上午 02:11

      4. Adam

        据我所知,polyfill 无法像原生 HTML 导入一样并行下载 Web Components。这就是为什么它们应该原生实现的原因。

        2014 年 12 月 18 日 下午 15:44

    2. Erik Isaksen

      我同意 HTML 导入非常有吸引力。尽管有一些相似之处,但它与 JS 模块有截然不同的目的。

      2014 年 12 月 17 日 上午 02:06

  3. Anne van Kesteren

    ES6 模块和 Service Worker 都为 Web 开发者打开了资源依赖管理的大门。虽然 ES6 模块主要用于 JavaScript,但我们希望在承诺标准化设计之前,看看库和框架中将在这些两个系统之上构建什么样的依赖系统。特别是在承诺使用未受它们影响的设计之前。

    2014 年 12 月 15 日 下午 12:00

    1. Laurentj

      好吧,我不明白您如何在 ES6 模块中存储 HTML 模板。

      创建一个 Web Components 很有趣,如果一个 Web Components 的所有部分都在同一个文件中,可以避免加载多个文件(因此,减少 HTTP 请求)。

      HTML 导入允许这样做。就像 XBL 一样。

      对不起,我还是不明白为什么 Mozilla 不会发布 HTML 导入,因为它已经实现了 https://bugzilla.mozilla.org/show_bug.cgi?id=877072

      2014 年 12 月 15 日 下午 14:24

    2. Alex Russell

      Anne:Service Worker 让您能够在发出其他请求时保留一些请求,它们还为您提供了一种在文档获取请求之前检查响应的方法(例如,如果您在网络线程中使用 JS 实现了自己的 HTML 解析器),但这与依赖管理无关,而仅使用 Service Worker 进行依赖管理始终会很痛苦。

      您不能将它与 HTML 导入的功能进行比较。ES6 模块也不相似:它们要求所有依赖项在您开始运行代码之前导入。在许多重要情况下,HTML 导入的速度要快得多。

      是的,我们需要在文档中使用更好的基元来描述如何实际发出加载,这些基元可以作为 ES6 模块和 HTML 导入系统的基础,用于形成、发出和排序请求;但这只是一个关于 HTML 导入和 ES6 模块的考古项目,而不是反对(或支持)这两者的论据。

      此致

      2014 年 12 月 17 日 下午 17:44

  4. Joern Turner

    您好!

    我非常高兴看到 Mozilla 正在考虑继续推进 Web Components。

    我同意 HTML 导入不是严格的要求 — 它可以通过各种其他技术来实现,尽管可能不会是那么大的事情。

    我希望看到 Mozilla 发布原生 Shadow DOM — 遵循 Chrome 的做法将会对其他供应商产生影响。对相关样式问题的进展将非常受欢迎。

    谈到我自己在标准化机构(尤其是 W3C)的经验,我希望开发团队能够大胆地遵循自己的意见,即使并非所有事情都在标准中得到解决。我发现起草和实现您自己的解决方案并将它们作为工作示例带回工作组的效果更好。我认为这种方法对标准化流程的影响往往比争论文字更大。

    2014 年 12 月 15 日 下午 13:18

  5. pkozlowski_os

    我很高兴看到HTML导入的工作暂停,直到我们更好地了解这将如何与ES6模块配合使用。我必须说,我对在浏览器中拥有2个独立的资源/依赖项管理器感到非常不安。我真的相信,ES6模块加载器和HTML导入共享一些基本问题,需要一个共同的解决方案。

    2014年12月15日 下午13:58

  6. 由于Html Imports是Web组件的核心部分,我认为你应该实现它。我同意也许可以稍等一下,直到事情得到更好地理解,比如es6模块加载器和html导入交互的关系。html导入的去重部分需要一些工作,因为这让我担心每个Web组件都有10个相同库捆绑包的副本,而且因为它们来自不同的URL,所以它们不会被去重。

    所以,是的,我们需要将依赖项管理与 JavaScript 和 HTML 的良好解决方案相协调。Polymer 项目严重依赖 html 导入,因为它是一个 Web 组件规范,因此应该实现它,但这并不意味着你不能建议更改规范。

    要点是,一旦规范最终确定,你应该遵守它。由于浏览器制造商无法达成一致,不得不处理不同的代码真的很糟糕。

    请让我们网页开发者更容易一些,并尝试从代码角度使每个浏览器都相同。请不要进行浏览器大战,不要说这是更好的,我就不打算实现这个功能,让我们达成一致。是的,这对你们来说是工作,但影响很大,与必须在你的平台上进行开发的大量网页开发者相比,你们浏览器开发者很少!所以请为我们着想!

    2014年12月15日 下午20:27

  7. 查克·霍顿

    听到 Mozilla 不打算实现 HTML 导入,我感到非常失望。我一直使用 Polymer 项目和 X-Tag 大量使用 HTML 导入。我发现 HTML 导入在我们的开发过程中非常有用。请重新考虑你的决定。

    2014年12月16日 上午04:43

  8. 戴蒙

    很高兴看到 Mozilla 最终将 Web 组件发布到 Firefox。但我仍然不认为这篇文章中提到的不发布 HTML 导入的理由能够站得住脚。是的,许多功能都有 polyfill。但让使用 Polyfill 的开发人员不应该成为浏览器开发者的首选。

    2014年12月16日 下午21:04

  9. markg

    你没有提到 HTML 模板,即使它们是 Web 组件标准之一。是因为它们已经获得批准了吗?

    2014年12月16日 下午23:23

    1. Erik Isaksen

      是的。它们已经在 FF 中了。

      https://caniuse.cn/#feat=template

      2014年12月17日 上午02:25

    2. Anne van Kesteren

      模板元素被集成到 HTML 本身,因此严格意义上不再是 Web 组件的一部分。

      2014年12月17日 上午08:47

  10. Erik Isaksen

    虽然 HTML 导入不是创建组件的必需条件,但 es6 模块从未打算做导入所做的事情。

    我认为你会发现,将对这样一项功能的支持碎片化只会鼓励“包管理器战争”继续下去,我们在编译时有太多笨拙的 polyfill 方式。

    导入的关键在于它们提供了一种简便的方式来打包你的元素并分发它,而无需额外的依赖项。

    Es6 模块可以做到这一点,但我们作为一个社区,真的希望库和框架在它的基础上构建自己的包装器吗?Es6 是为 JS 制定的——它不应该被“硬塞”到注入 CSS 和 HTML 中

    2014年12月17日 上午02:22

    1. Anne van Kesteren

      最终,我们希望得到一些标准化的东西。我们目前不做 HTML 导入的原因是,我们认为如果它能从 JavaScript 模块、服务工作者以及将 HTTP/2 的部分暴露给 JavaScript 中获得的信息,它的设计会大不相同。

      我们希望设计能够反过来进行。我们向 Web 开发人员提供基本组件,然后他们在其基础上设计各种引人注目的库和框架。然后我们可以看看如何标准化一些更高层次的东西,以提高性能并减轻一些使用库的负担。

      2014年12月17日 上午08:52

      1. Laurentj

        > 以及将 HTTP/2 的部分暴露给 JavaScript。

        所以你想等很多年,才能看看 html 导入是否可以,或者是否应该改进?因为,说真的,HTTP/2 很棒,但它将需要很多年才能被数百万个 Web 服务器的大多数支持。因此,大多数项目无法使用依赖于 HTTP/2 的库或功能。

        > 然后我们可以看看如何标准化

        好的,你想看到 Web 开发人员尝试这些新的基本组件来验证它们。但你不想看到开发人员尝试 HTML 导入(从我的角度来看,它是一个“基本”功能)。:-/

        对不起,我不同意你的观点。

        我不喜欢 Web 技术采用的方式:年复一年,我们失去了声明式编程,转而使用命令式编程,而在某些情况下,声明式优于命令式。如果 Tim Barners-Lee 发明的是一种 JS 而不是 HTML,那么 Web 就不会存在。用 HTML/CSS 理解和编写网页比用命令式语言容易得多……

        2014年12月18日 上午02:29

        1. 布莱恩C

          > 好的,你想看到 Web 开发人员尝试这些新的基本组件来验证它们。但你不想看到开发人员尝试 HTML 导入

          啊,但文章中并没有说明这种情绪。这句话“缺乏 HTML 导入不是问题,因为如果需要,可以通过 polyfill 轻松提供该功能”清楚地表明 Mozilla 并不阻止(原谅这个双重否定)其他人尝试 HTML 导入。整个声明式/命令式 + Tim Berners Lee 的论点不幸地是一个稻草人论点,因为它与我们现在讨论的主题关系不大。这篇文章从未主张使用基于 JS 的命令式替代 HTML 导入,也没有主张 es6 模块作为替代方案(注意,es6 模块语法是声明式的)。文章也没有说明 Mozilla 将“等很多年”来分析 HTML 导入的状态。事实上,所有引入的功能都在明年的时间范围内,所以 Firefox 仍然有可能拥有 HTML 导入,如果 Web 标准机构能够找到某种方法来协调 es6 和自定义元素与模块系统之间的关系。

          说到这一点,这里有一个问题:es6 模块和 HTML 导入如何交互?目前,这个问题还没有明确的共识,但如果 HTML5 不想彻底崩溃,那么双方之间必须相互理解。据我所知,HTML5 导入使用与 es6 模块完全不同的机制,这意味着它们无法与 System 模块加载器交互。至少,这对导入包括模块提出了问题。如果模块加载器无法与 HTML 导入互操作,你将如何处理?目前,没有浏览器厂商有明确的答案。尽管 Google 支持 Polymer(与流行观点相反,Polymer 不是 Web 组件的参考实现)和 es6 模块,但 Google 也没有任何关于如何处理 JS 模块和 HTML 导入之间二元性的显著策略。

          ……现在我已经写了一堆语无伦次的胡言乱语。虽然我同意 Mozilla 等公司应该努力为开发人员提供新的 Web 基本组件进行试验,但当考虑到该功能对浏览器中的模块的影响时,推迟 HTML 导入的决定似乎是合理的。

          2014年12月18日 下午12:08

        2. Anne van Kesteren

          也许如果 HTML 导入提供了一种真正声明式的组件创作方式,你就有道理了,但可惜的是,它们没有。无论哪种方式都需要脚本。

          2014年12月19日 上午02:27

      2. Adam

        “…它的设计会大不相同,如果它能从 JavaScript 模块、服务工作者以及将 HTTP/2 的部分暴露给 JavaScript 中获得的信息”

        对不起,我不明白这种胡言乱语。你能用简单的术语描述一下原因吗?

        2014年12月18日 下午15:50

        1. 泰勒

          如果你想 *最终* 看到一些标准化的东西并作为解决方案提供,那么你需要改变你博客文章中的措辞,因为现在听起来你是在说你正在接球回家,WRT HTML 导入。

          同时,考虑将你不确定的这些功能添加为 -moz- 前缀,以便 Web 社区可以通过实践来决定应该如何做。

          2014年12月29日 上午08:33

  11. Erik Isaksen

    我仍然认为 HTML 导入在所有浏览器中都很重要,它们与 ES6 模块有很大的不同。

    感谢 Mozilla 公司的软件工程师 Benjamin Kelly 向我发送了这两个链接,它们进一步解释了 Mozilla 决定背后的原因

    http://lists.w3.org/Archives/Public/public-webapps/2014OctDec/0616.html
    http://lists.w3.org/Archives/Public/public-webapps/2014OctDec/0614.html

    Alex Russel 和 Daniel Buchman 在这个 Twitter 线程中谈论了模块和导入之间的区别

    https://twitter.com/ebidel/status/545339085284315136

    2014年12月18日 上午02:16

  12. 史蒂夫·阿尔伯斯

    是什么实际问题阻止 Mozilla 启用该标准?文章中的引述(“…我们对标准流程的反馈并不总是能产生所需的改变……”)没有说明——你能帮助我们理解标准存在的问题吗?

    你能具体说明应该使用哪些 JavaScript 模块来代替 Web 导入(这是 JavaScript 代码模块吗?),它们如何解决你对 W3C 标准的担忧,以及我们何时可以预期它们被实现?这个过程正在通过标准化过程吗?有链接吗?

    谢谢。

    2014年12月19日 下午20:52

  13. 谢恩

    关于 HTML 导入的这个消息非常令人失望。在我们公司,我们正在等待 Chrome 和 Firefox 对模板、自定义元素、Shadow DOM 和导入的原生支持,然后才开始将大量现有应用程序重新实现为 Web 组件的努力。据我所知,你快完成了(dom.webcomponents.enabled)。隐藏在标志后面的 HTML 导入实现也会消失吗?

    我们大量使用 AMD/Almond.js 和 CommonJS/Browserify,绝对不理解你对 ES6 模块和 HTML 导入的担忧。如果有什么不同的话,HTML 导入在 ES6 模块到来时可以得到增强。标记、样式、脚本和资源的抽象怎么可能比更好?Firefox 是一个很棒的浏览器,你们比建议开发人员使用 polyfill 更棒。请重新考虑。

    2014年12月20日 下午17:15

    1. markg

      这里有一些关于需要解决的 HTML 导入问题的信息
      http://tjvantoll.com/2014/08/12/the-problem-with-using-html-imports-for-dependency-management/

      2014年12月22日 下午22:48

  14. 布雷特·扎米尔

    有人关注 HTML 导入不可用,或者何时可用,应该更新以下内容(例如,说明是否可用,但不是默认启用)

    https://mdn.org.cn/en-US/docs/Web/Web_Components/HTML_Imports

    https://mdn.org.cn/en-US/Firefox/Releases/35#HTML

    2014年12月23日 下午13:26

    1. 让-伊夫

      谢谢。我更新了这两个页面,从 Firefox 35 中删除了它,表明没有计划在其他浏览器中使用它。

      2014年12月24日 上午00:55

  15. SciDeveloper

    没有 HTML 导入?嘘。

    计算的历史充满了复杂的依赖管理工具。请让我们拥有一些简单的基本组件,让开发人员拥有控制权——而不是一些过于复杂的依赖管理工具,它会对开发人员进行猜测或制定复杂的规则。

    我对 URL1 != URL2 意味着不是同一资源的规则感到非常满意。

    这很简单,很明显,作为开发者,我很容易控制。

    任何其他东西无疑会导致一大堆意想不到的边缘情况和错误。

    任何其他东西都是过早优化的典型案例——我们不应该以复杂化未来技术为代价,去解决过去的问题(移动性能正在迅速不再成为问题)。

    2014年12月24日 03:58

  16. Havi Hoffman [编辑]

    @Brett Zamir – 感谢你的评论 - 这些文档已由 MDN 团队更新。最好的,Havi

    2014年12月24日 11:55

  17. markg

    > […] 缺乏 HTML Imports 不是问题,因为如果需要,该功能
    > 可以很容易地使用 polyfill 提供。

    你能推荐一个 polyfill 来使用吗?仅仅是 Google 的 webcomponents.js 吗?或者你也可以建议一些更轻量级的。

    2014年12月28日 19:40

  18. dan

    Mozilla,

    不要做混蛋,不要实现 Html Imports,它可是 Web Component 标准的重要组成部分,它可能会出现问题吗?是的,Es6 模块加载器和 Html Imports 如何协同工作可能会让人困惑吗?是的。

    那又怎样,Html Imports 是 Web Components 的关键部分,而不得不使用 polyfill 简直太糟了!!!!!!!!。遵循标准并实现它。事物总是在变化,在未来的某个日期,当我们弄清楚 Html Imports 和 Es6 如何更好地协同工作,或者其中一个能否取代另一个时,再实现那个。

    不要因为没有得到你想要的结果就做那个混蛋/女孩,我们都同意 Html Import 标准有改进的空间,你的观点是有效的,但你还是需要实现它!!!!!!!!

    不实现它,你就从一开始就束缚了整个 Web Components 标准,不要做混蛋!!

    2014年12月31日 10:10

    1. Anne van Kesteren

      为了非常清楚起见,“Web Components”还不是一个标准,目前只有 Google 正在发布某种实现(甚至没有完全符合规范)。因此,对“Web Components”成为标准的过程进行输入非常合适。你在网络上没有太多机会做对某些事情。

      2015年1月5日 00:56

      1. dan

        我理解要把它做好,但这正是 Web 标准一直很杂乱无章的主要原因之一。我们最终会形成自己对什么正确、良好和完美的理解,最终我们只是做自己的实现,对 IE、Safari、Chrome、Firefox 等等来说,实现都是不同的。我认为这是我们需要改变的一件事,让我们追求完美,但也要接受一些不那么完美的东西,一些足够好的东西,但至少要跨浏览器有一个标准。对不起,话可能有点过分,但至少从我的角度来看,我原本计划 Mozilla 在 Web Components 上跟随 Chrome,因为 2 个主要浏览器制造商,有助于推动其他制造商效仿,现在其他制造商更容易不实现 Web Components。我想我只是厌倦了浏览器大战,你们实现这个,我们实现那个,没有人站在中间,而 Web 开发人员却要忍受这种折磨,不得不去处理那些填补空白的数百万个不同的 js、html、css 库。这只是让我想起了当年我为什么一开始就使用 Firefox,当时 IE 是那些从不遵守标准的人,而 Firefox 站出来说我们会遵守标准,并将 IE 看作是制造问题的那些人。

        无论如何,我一直都很喜欢 FF,而且一直都在使用它,我是从 Netscape 时代开始就一直都是早期采用者,尽管我现在没有在使用它。

        我确实意识到 Web Components 还没有成为标准,但它也像 Es6 一样,受到了广泛的关注,Es6 还没有成为标准,但看起来大多数浏览器都会实现,但这也是另一个问题,需要 5 年或更长时间才能制定一个标准,时间太长了。让每个人都同意很难,我理解。但如果我们能够让网络继续向前发展,并且在标准上达成一致,那就太好了。

        对不起,我抱怨了!

        2015年1月5日 07:09

  19. Martijn

    那么 Gaia 应用现在在使用什么?我看到里面有一大堆。我希望这能更好地记录。

    2015年1月5日 08:06

  20. Dominic Chambers

    嗨 @Anne van Kesteren,你能评论一下我遇到的这个 HTML Exports 库吗

    https://github.com/nevir/html-exports

    在另一个页面上,作者说

    “ES6 模块 HTML 导入互操作性有点奇怪,是的。但它们在概念上非常相似,让它们和谐相处并不需要太多……”

    你能评论一下他的断言是否有道理吗?

    其次,你说

    “…它的设计会大不相同,如果它能从 JavaScript 模块、服务工作者以及将 HTTP/2 的部分暴露给 JavaScript 中获得的信息”

    你能提供一个更具体的例子,说明你认为它实际上可能是什么样子,只是一个例子。例如,你是否在谈论像 jspm.io 这样的项目,它允许使用 ES6 语法开发多资产库,而且 @Guy Bedford 甚至证明可以使用它来开发 Web Components?

    2015年1月5日 08:11

  21. 史蒂夫·阿尔伯斯

    阅读 Mozilla Brick 2.0 文档 - 宣传的一部分是“在一次操作中加载相关的 JavaScript、CSS 和 HTML 依赖项(HTML Imports)”。使用 Brick 的说明说要使用 HTML Import 标签!

    http://brick.mozilla.io/v2.0/docs/getting-started

    我想 Mozilla 会从 Brick 2.0 中删除 HTML Imports 吗?

    2015年1月5日 19:35

    1. markg

      Google 的 platform.js(现在称为 webcomponents.js)是 Brick 的一部分,并将使用 polyfills 处理 HTML 导入。我相信。

      2015年1月5日 21:42

      1. Ras Fred

        如果 HTML Imports 不完整到 Mozilla 不会支持的地步,那么 Mozilla 使用 HTML Import 草案标准构建 Brick 还有意义吗?

        2015年1月5日 23:07

        1. Potch

          很有趣。当这个决定正在做出的时候,Brick 项目(此时主要是由我负责)也完全独立地得出了一个结论,决定改变 Brick 2.0 的方向,转向 *完全* 由 Custom Elements 驱动的方案。这意味着没有 Shadow DOM 或 HTML Imports。预计很快就会有更多关于这方面的信息,但本质上:Brick 作为一个整体项目将消失,各个组件将作为独立的 Custom Elements 发布,这些元素不需要 Web Components 的其他方面就可以正常运行。

          2015年1月6日 12:48

  22. Ras Fred

    ES6 模块是否支持导入非 JS 资源,例如 HTML Imports?

    2015年1月5日 23:08

  23. Ras Fred

    这是 Firefox 中 ES6 模块支持的当前状态吗? https://bugzilla.mozilla.org/show_bug.cgi?id=568953

    2015年1月5日 23:13

    1. Anne van Kesteren

      是的,我相信是这样。

      2015年1月6日 11:57

  24. Havi Hoffman [编辑]

    编辑说明:感谢大家提出问题和深思熟虑的评论和回复。对话将继续在 public-webapps 标准列表 (http://lists.w3.org/Archives/Public/public-webapps/) 上进行。现在这篇文章的评论已关闭。

    2015年1月6日 13:20

本文的评论已关闭。