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+ элементов, вы сталкиваетесь с теми же проблемами.
Поначалу создание повторно используемых элементов кажется хорошей идеей, потому что вы можете красиво инкапсулировать все. Но работать с сотнями репозиториев мучительно, и стандартный шаблон ломается, когда вы хотите иметь более одного элемента в репозитории.
Итак, мне интересно, каковы хорошие практики создания больших приложений Polymer? Есть ли примеры проектов с более чем 30 элементами?
Каковы рекомендации по репозиториям повторно используемых элементов, содержащих несколько элементов?
Какова хорошая структура для нескольких точек входа?
В целом: как вы масштабируете проекты Polymer?
bower update
после каждого изменения), но вам все равно нужно будет зафиксировать 100 репозиториев, если вы будете следовать стандартному подходу к многоразовым элементам... - person LinusK   schedule 30.10.2015