在GitHub上发布包含多个子组件的聚合物组件

时间:2015-08-12 04:51:00

标签: html git polymer bower polymer-1.0

我创建了一个Web组件,我们称之为a-1.html,这是我想要发布的主要Web组件,但此组件还依赖于我创建的另一个组件b-2.htmlb-2.html还取决于我创建的第三个组件c-3.html

我已经关注了Polymer的Create reusable elements指南,以便在GitHub上发布我的元素,在开发方面一切正常(它们已经开发),我制作了文档,我在GitHub上发布了,但是我面临一个问题。

指南处理好像你有一个要发布的组件,它提到如果有任何依赖,我应该放置它们,但是如果我的依赖项仍然是本地依赖项怎么办?我无法将b-2.htmlc-3.html放入 bower.json ,因为它们尚未联机。

所以稍后,当我使用bower install <username>/element安装我的元素时,该元素无效,因为它缺少b-2.htmlc-3.html,也是在线演示(使用gp的Github页面) .sh)无效。

对于这种情况,我应该在哪里放置这些文件,以便在GitHub上有一个完整的工作回购,以及一个有效的演示。

目录:

bower_components
--- lots of compoenents
--- including b-2 and c-3 added manually by me
---- in order for the demo to work locally, but since they 
----- aren't in bower.json, this won't work eventually
bower.json
demo
---index.html
index.html
README.md
test
---basic-test.html
---index.html
a-1.html

谢谢!

1 个答案:

答案 0 :(得分:3)

GitHub 存储库中发布多个元素与发布单个元素完全相同。您的案例中的 b-2.html c-3.html 元素应放在目录中的 a-1.html 之外:

bower.json
a-1.html
b-2.html
c-3.html

除非在 bower.json 文件的 ignore 部分中指定,否则这些应由 bower 安装。

在我看来, bower.json 文件的main部分在这里很微妙。应将多个元素视为可以单独使用的个体。这可能是您的情况的部分:

"main": [
  "a-1.html",
  "b-2.html",
  "c-3.html"
]

但是,如果您希望使用 iron-component-page 组件来记录元素,则根据Polymer 1.0 documentation所有元素都应该导入到单个 html中页面。建议的组件设置方法是每个组件的子目录,以便为每个组件编写一个演示页面。我在个人项目中做到了这一点,包括几个元素来定义 UML 模型:polymeria-uml