Polymer Starter Kit是启动 Polymer 项目的一个很好的参考。您只需将所有元素放入app/elements
文件夹中。这对于中小型项目非常有效。
当你有超过 30 个元素时,它会变得混乱。然后您想将平面elements
文件夹重构为更深的文件夹结构,如下所示:
- elements
-- my-module-1
--- my-element-1-1
--- my-element-1-2
-- my-module-2
--- my-submodule-2-1
---- my-element-2-1-1
---- my-element-2-1-2
--- my-submodule-2-2
---- ...
有几个问题:
- 当您想演示和测试子模块时,您需要在每个元素定义之上导入所有依赖项
- 你打破了“所有元素都是兄弟姐妹”的模式
- 你的相对路径变得混乱(很多
../../../my-module-x/my-module-y
) - 您要么有很多类似的路径,
../../../../bower_components
要么使用/bower_components
,那么您需要在您的开发服务器中进行重定向,并且绝对路径会弄乱 gulp-vulcanize。 - 每个元素都有一个演示和测试文件夹,您的目录结构会快速增长
这是一篇很好的文章,描述了这个问题并指出了两个解决方案:
- 单独的元素存储库
- 构建可重用元素
像Topeka 应用程序中的独立元素存储库适用于大约 30 个元素,但是一旦你达到 100 多个元素,你就会遇到同样的问题。
一开始,构建可重用元素似乎是个好主意,因为您可以很好地封装所有内容。但是处理数百个 repo 是很痛苦的,当你想在你的 repo 中包含多个单个元素时,标准模式就会中断。
所以我想知道,关于如何构建大型 Polymer 应用程序的良好做法是什么?有没有超过 30 个元素的项目示例?
包含多个元素的可重用元素 repos 有哪些好的做法?
多入口点的良好结构是什么?
一般而言:您如何扩展 Polymer 项目?