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
, тогда вам нужно перенаправить на свой dev-сервер, и абсолютные пути испортит gulp -vulcanize. - С помощью демонстрационной и тестовой папки для каждого элемента структура вашей каталогов растет очень быстро
Вот хорошая статья, описывающая проблему и указывающая на два решения:
- Хранилище Seperate Elements
- Создание многоразовых элементов
Seperate Elements Repository, как в Topeka App работает для ~ 30 элементов, но как только вы достигнете 100 элементов, вы столкнетесь с те же проблемы.
Построение многоразовых элементов сначала кажется хорошей идеей, потому что вы можете инкапсулировать все красиво. Но работа над 100-м репозиторией болезненна, и стандартный шаблон ломается, когда вы хотите иметь более одного элемента в своем репо.
Итак, мне интересно, что такое хорошие методы создания больших приложений для Polymer? Есть ли примеры проектов с более чем 30 элементами?
Каковы хорошие практики для повторных операций с репозициями, которые содержат несколько элементов?
Что такое хорошая структура для нескольких точек входа?
В целом: как вы масштабируете проекты Polymer?