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

Ada*_*ath 40 web-component polymer

我有使用Polymer构建的元素,需要在多个站点(小部件)上运行,其中:

  • 不含聚合物(很好,我可以包括)
  • 聚合物已包含在兼容版本中(非常棒,不太可能)
  • 未知版本的聚合物(太旧或太新,太棘手)

是否可以在命名空间中加载Polymer?例如myObj.PolymerMyPolymerName

我发现聚合物-js可以让我加载聚合物作为模块,但这不是官方方式. 这仍然出口到全球范围

Jus*_*ani 7

现在的解决方案是依靠包管理将Polymer解析为项目及其依赖项的单个兼容版本,并使用HTML Imports来重复从多个源加载依赖项.

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

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