在SystemJS + JSPM托管项目中,如何使用Polymer的元素?
我以前jspm install github:Polymer/polymer
安装过Polymer,也jspm install github:PolymerElements/iron-elements
安装过iron-elements。
这似乎有多个问题:
第一个,例如在 iron-elements.html 文件中,导入将进入错误的路径:<link rel="import" href="../polymer/polymer.html">
而Polymer目录实际上是以其版本命名的(与JSPM一样),所以实际的导入应该<link rel="import" href="../polymer@1.0.5/polymer.html">
在我的案子。
其次,在导入Polymer文件时,在SystemJS环境中将其放在 index.html中似乎有点生硬,包括版本路径:
<link rel="import" href="jspm_packages/bower/Polymer/polymer@1.0.5/polymer.html" />
有没有更好的方法在SystemJS中导入这些 html ?
第三,由于Polymer的下载选项是通过使用类似“购物车”的选项或在Bower中手动下载,如果我尝试通过 JSPM 的存储库或获取铁元素或纸元素,它不会下载它们的依赖项,甚至如果我手动添加依赖项,由于JSPM的版本命名,它们的路径仍然是错误的。github:
bower:
import
根据JSPM的google 小组中的讨论,这个问题
是聚合物假设鲍尔
哪种迫使我放弃我真的不想做的SystemJS或Polymer 。
然而,在(关于Aurelia框架的)不同的讨论中,Rob Eisenberg 提到了将 Polymer 与Aurelia一起使用的可能性:
您应该能够使用 Polymer 的 Paper 元素。为此,您需要在 Aurelia 之前的页面中包含 Polymer 框架。
据我所知,Aurelia正在使用JSPM,可以做到吗?
一个可能的解决方案是切换到RequireJS,然后我可以使用Bower添加Polymer的东西,但我真的很想使用SystemJS,我不确定它是否适用于Aurelia。此外,我可以继续使用SystemJS和JSPM,也可以将Bower用于Polymer的东西。
更新
在找到更好的答案之前,临时解决方案是同时使用JSPM和Bower,其中Bower仅用于Polymer。