【发布时间】:2015-10-29 20:31:09
【问题描述】:
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。 - 每个元素都有一个演示和测试文件夹,您的目录结构会快速增长
这是nice article 描述问题并指出两个解决方案:
- 独立的元素存储库
- 构建可重用元素
像Topeka App 中的单独元素存储库适用于大约 30 个元素,但一旦达到 100 多个元素,就会遇到同样的问题。
一开始,构建可重用元素似乎是个好主意,因为您可以很好地封装所有内容。但是处理数百个 repos 是很痛苦的,当你想在你的 repo 中包含多个单个元素时,标准模式就会中断。
所以我想知道,关于如何构建大型 Polymer 应用程序有哪些好的做法? 有没有超过 30 个元素的项目示例?
对于包含多个元素的可重用元素 repos,有哪些好的做法?
多入口点的良好结构是什么?
总的来说:您如何扩展 Polymer 项目?
【问题讨论】:
-
对您当前的问题没有任何帮助。但我观看了一些 PolymerIO 视频,他们谈到了简化使用包含依赖项的计划(也许自动导入所需的依赖项?)。换句话说,即使目前对您来说是个问题,但在“不远”的将来可能会容易得多。 :)
-
您的意思可能是Polygit ? “Magic Server 直接从 github 提供文件”。它使拥有多个 repos 变得更容易一些(因为您不需要在每次更改后执行
bower update),但是如果您遵循标准的可重用元素方法,您仍然需要提交 100 个 repos...
标签: polymer polymer-1.0 polymer-starter-kit