在 GitHub 上发布具有多个子组件的 Polymer 组件

Publishing on GitHub a Polymer component with multiple sub components

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

为了在 GitHub 上发布我的元素,我遵循了 Polymer 的 Create reusable elements 指南,在开发方面一切正常(它们已经开发完成),并且我制作了文档,并且我发表于 GitHub,但我遇到了 1 个问题。

该指南处理的就像您要发布的单个组件一样,它提到如果有任何依赖项,我应该放置它们,但是如果我的依赖项仍然是本地依赖项怎么办?我无法将b-2.htmlc-3.html放入bower.json,因为他们还没有上线

所以稍后,当我使用 bower install <username>/element 安装我的元素时,该元素无法工作,因为它缺少 b-2.htmlc-3.html,还有在线演示 (Github 页面使用 gp.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

谢谢!

GitHub 存储库中发布多个元素与发布单个元素完全相同。你的案例中的 b-2.htmlc-3.html 元素应该放在 a 旁边-1.html 在目录中:

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

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

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

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

但是,如果您希望使用 iron-component-page 组件记录您的元素,请根据 Polymer 1.0 documentation all elements should be imported in a single html page. The recommended way of setting up the components would be a subdirectory for each component in order to write a demo page per component. I did that in a personal project including several elements to define an UML model: polymeria-uml.