带有聚合物 + 元素的 SystemJS
SystemJS with Polymer + Elements
在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 环境中将它放在 [=125] 中似乎有点生硬=] 像这样,包括版本路径:
<link rel="import" href="jspm_packages/bower/Polymer/polymer@1.0.5/polymer.html" />
在 SystemJS 中导入这些 html 是否有更好的方法?
第三,因为 Polymer 的下载选项要么通过使用他们的 "cart" 类似选项手动下载,要么在 Bower 中,如果我尝试通过 JSPM 的 github:
存储库或 bower:
获取 iron-elements 或 paper-elements,它确实不下载它们的依赖,即使我手动添加依赖,它们的 import
路径仍然是错误的,因为 JSPM.
的版本命名
根据 JSPM 的 google 组 中的这个 discussion,问题
is that Polymer assumes Bower
哪种情况迫使我放弃 SystemJS 或 Polymer,我真的不想这样做。
但是,在另一个 discussion(属于 Aurelia 框架)中,Rob Eisenberg 提到了将 Polymer 与 Aurelia[=87= 一起使用的可能性]:
You should be able to use Polymer's Paper elements. To do that you
would include the Polymer framework in your page prior to Aurelia.
据我了解,Aurelia正在使用JSPM,可以吗?
一个可能的解决方案是切换到 RequireJS,然后我可以只使用 Bower 添加 Polymer 的东西,但我真的很想使用 SystemJS,我不确定它是否适用于 Aurelia。
此外,我可以继续使用 SystemJS 和 JSPM,并且还可以仅针对 [=50= 使用 Bower ]聚合物东西
更新
在找到更好的答案之前,临时解决方案是同时使用 JSPM 和 Bower,其中 Bower 仅用于 Polymer.
我不知道你是否解决了你的问题,但我找到了一种通过 jspm 安装 polymer 及其组件的方法。
参考问题 https://github.com/Polymer/polymer/issues/1133,请按照以下步骤操作:
npm install jspm-bower-endpoint
jspm registry create bower jspm-bower-endpoint
有了这个,你就可以通过 jspm 安装 bower 包了,就像你可以做 jspm install nom: 一样,你也可以用 bower 做同样的事情。
现在,安装 Polymer 和 Paper-elements(或任何其他集合)。
jspm install bower:polymer
jspm install bower:PolymerElements/paper-elements
在这最后一步,我遇到了一个打包版本的小问题,我无法通过jspm解决。所以只需转到 jspm_packages/bower/PolymerElements/paper-elements@version 和 运行
bower install
最后一步将安装纸元素的所有组件。
现在,只需通过以下方式将所需元素附加到您的 html 模板:
<link rel="import" href="jspm_packages/bower/PolymerElements/paper-elements@version/bower_components/paper-button/paper-button.html">
希望这篇文章对您有用!
在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 环境中将它放在 [=125] 中似乎有点生硬=] 像这样,包括版本路径:
<link rel="import" href="jspm_packages/bower/Polymer/polymer@1.0.5/polymer.html" />
在 SystemJS 中导入这些 html 是否有更好的方法?
第三,因为 Polymer 的下载选项要么通过使用他们的 "cart" 类似选项手动下载,要么在 Bower 中,如果我尝试通过 JSPM 的 github:
存储库或 bower:
获取 iron-elements 或 paper-elements,它确实不下载它们的依赖,即使我手动添加依赖,它们的 import
路径仍然是错误的,因为 JSPM.
根据 JSPM 的 google 组 中的这个 discussion,问题
is that Polymer assumes Bower
哪种情况迫使我放弃 SystemJS 或 Polymer,我真的不想这样做。
但是,在另一个 discussion(属于 Aurelia 框架)中,Rob Eisenberg 提到了将 Polymer 与 Aurelia[=87= 一起使用的可能性]:
You should be able to use Polymer's Paper elements. To do that you would include the Polymer framework in your page prior to Aurelia.
据我了解,Aurelia正在使用JSPM,可以吗?
一个可能的解决方案是切换到 RequireJS,然后我可以只使用 Bower 添加 Polymer 的东西,但我真的很想使用 SystemJS,我不确定它是否适用于 Aurelia。 此外,我可以继续使用 SystemJS 和 JSPM,并且还可以仅针对 [=50= 使用 Bower ]聚合物东西
更新
在找到更好的答案之前,临时解决方案是同时使用 JSPM 和 Bower,其中 Bower 仅用于 Polymer.
我不知道你是否解决了你的问题,但我找到了一种通过 jspm 安装 polymer 及其组件的方法。
参考问题 https://github.com/Polymer/polymer/issues/1133,请按照以下步骤操作:
npm install jspm-bower-endpoint
jspm registry create bower jspm-bower-endpoint
有了这个,你就可以通过 jspm 安装 bower 包了,就像你可以做 jspm install nom: 一样,你也可以用 bower 做同样的事情。
现在,安装 Polymer 和 Paper-elements(或任何其他集合)。
jspm install bower:polymer
jspm install bower:PolymerElements/paper-elements
在这最后一步,我遇到了一个打包版本的小问题,我无法通过jspm解决。所以只需转到 jspm_packages/bower/PolymerElements/paper-elements@version 和 运行
bower install
最后一步将安装纸元素的所有组件。
现在,只需通过以下方式将所需元素附加到您的 html 模板:
<link rel="import" href="jspm_packages/bower/PolymerElements/paper-elements@version/bower_components/paper-button/paper-button.html">
希望这篇文章对您有用!