【发布时间】:2019-06-03 00:24:33
【问题描述】:
更新:https://github.com/Polymer/polymer/issues/5551 - 他们使用 shadyDom
Youtube 团队最近将他们的代码更新为 Polymer 3.x
如果你去 youtube 并打开开发工具,你根本看不到任何 shadow dom:
但是,当您启动一个新的 Polymer 3 应用程序时,shadow dom 就在这里,就像在以前的版本中一样。
有很多关于能够在没有 shadow dom 的情况下渲染某些组件的讨论。似乎 youtube 团队在这方面取得了成功。
Shadow dom 非常适合组件开发,但是页面,对于 例如,不应将其视为组件,恕我直言。治疗 一切作为一个组件(使用 ShadowDom)都变得很痛苦—— 样式、第三方库等问题。
我的问题是:youtube 团队是如何做到这一点的?
【问题讨论】:
-
我不认为他们只使用聚合物。在 Google,他们有自己的框架,使用 Polymer 和其他东西。所以基本上,如果 youtube 团队可以取得一些成就,并不意味着你也可以。如果你想为整个网站禁用shadow dom,你可以使用
window.ShadyDOM = {force: true}; -
if youtube team could achieve something, it doesn't mean you will be able too恕我不同意。 -
你是对的。你将永远能够做任何你想做的事情。但是什么价格。 Google 使用的框架不仅仅是 Polymer。在这种情况下,您可能会问如何禁用整个网站的 shadow dom?因为在你的图片中我没有看到任何影子 dom
标签: polymer polymer-3.x