聚合物组件Shady DOM样式只是对生产的评论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚合物组件Shady DOM样式只是对生产的评论相关的知识,希望对你有一定的参考价值。

我一直在追逐这个错误。在开发过程中,一切都运行良好,当推到Heroku进行生产时,它不是。我在后端使用风帆,但这不是问题,因为这是客户端问题。最糟糕的是,这种情况一直在发挥作用,而且几天前才破裂。追溯我的步骤并没有找到原因。

长话短片可能会有所帮助,以防任何人以前见过这个。

在生产中加载应用程序时,这些错误开始显示“

Console errors

这令人困惑,因为我没有在本地进行开发。在过去使用js concat和minification遇到问题后,我将其转为生产。还是一样的错误。然后我注意到生产和开发负责人之间的这种差异:

制作:Production head showing shady DOM

发展

Development head showing shady Dom

接下来,我检查了我在加载时添加的聚合物组件的链接,并动态显示了初始页面。两个生产开发都是一样的:

Polymer imports

接下来,我尝试使用Polymer.Base.importHref('/vendor/paper-checkbox/paper-checkbox.html')动态导入聚合物组件。导入添加到头部的阴影DOM样式后,生产和开发不同

生产:

Added shady dom style production

发展:

enter image description here

最后,当我用document.createElement('paper-checkbox')创建一个paper-checkbox元素时,在开发过程中本地工作正常。在生产上,错误与以前一样:

enter image description here

我被困在这里。如果有人以前见过这个并且有洞察力我会很感激。

答案

我已经解决了这个问题,尽管可能还有另一个需要用Polymer检查的问题。在我的许多部署中,我在其中一个构建日志中注意到,为Polymer安装的版本号与我在bower.json文件和本地系统中的版本号不同。次要版本从1.3.1跃升至1.4.0。我的bower.json用^而不是〜。 ^允许更改除最左侧版本号以外的所有版本号,而〜仅允许修补程序级别更改。

原始bower.json

Original bower.json

新的bower.json

New bower.json

以为我会尝试一下。一旦我部署聚合物1.3.1已安装,我的网站已备份并正常工作。希望这可以帮助将来的某个人。

以上是关于聚合物组件Shady DOM样式只是对生产的评论的主要内容,如果未能解决你的问题,请参考以下文章

聚合物、影子 dom、事件和冒泡

html Shady DOM示例

如何在Polymer 2.0中启用Shady DOM?

使用Shady DOM document.getElementByID()的Polymer 2.0

阴影 dom 内的聚合物元素有效,但没有样式

聚合:将样式应用于Shadow DOM下的元素