Polymer 如何在未知环境中安全地加载聚合物-多个版本或名称空间?

Polymer 如何在未知环境中安全地加载聚合物-多个版本或名称空间?,polymer,web-component,Polymer,Web Component,我有用聚合物构建的元素,需要在多个站点(小部件)上运行,这些站点: 不包括聚合物(好的,我可以包括) 聚合物已包含在兼容版本中(卓越,不太可能) 未知版本的聚合物(太旧或太新,棘手) 可以在名称空间中加载聚合物吗?e、 g.myObj.Polymer或MyPolymerName 我已经找到了可以将聚合物作为模块加载的方法,但这不是官方的方法。这仍然会导出到全局范围目前的解决方案是依靠包管理将项目及其依赖项解析为单个兼容版本,并通过HTML导入从多个源消除重复加载依赖项 如果您将元素作为Bow

我有用聚合物构建的元素,需要在多个站点(小部件)上运行,这些站点:

  • 不包括聚合物(好的,我可以包括)
  • 聚合物已包含在兼容版本中(卓越,不太可能)
  • 未知版本的聚合物(太旧或太新,棘手
可以在名称空间中加载聚合物吗?e、 g.
myObj.Polymer
MyPolymerName


我已经找到了可以将聚合物作为模块加载的方法,但这不是官方的方法。这仍然会导出到全局范围

目前的解决方案是依靠包管理将项目及其依赖项解析为单个兼容版本,并通过HTML导入从多个源消除重复加载依赖项

如果您将元素作为Bower软件包出售,那么站点可以包含它们,以及它们对Polymer的依赖关系和导入,如果Polymer的兼容版本可用,则在整个项目中使用该版本


在Polymer的未来版本中,在ES6模块和加载程序完全规格化之后,我们可能会有一个只通过模块导出的Polymer版本,这样多个版本可以被限定为显式导入,并且可以安全地在一个页面上共存。

我想好的旧框架是不可能的,对吗?我看到polymer文档使用iFrame来隔离它们的演示。不可能在名称空间中加载polymer。Polymer在他们的网站上用各种方法混合了0.5和1.0元素,结果发现这太难操作了。这个话题仍然是一个研究领域。@AleksandarTotic谢谢,该死,我希望这会改变。我将继续自己的研究。如果有人想办法,请在这里发帖@AdamHeath你找到解决办法了吗?我现在正面临着同样的问题?Ughh@dipole_moment不,对不起。目前还没有使用聚合物,你能详细说明一下吗?你是说小部件不应该依赖于Polymer,而加载扩展的网页应该负责使Polymer可用吗?不,我是说元素将通过bower.json中的依赖关系依赖于Polymer,并且bower将警告Polymer的不兼容版本。所有聚合元素都应通过html导入直接导入Polymer.html。