Я пытаюсь перейти на ember-cli из некоторых старых встроенных инструментов сборки. Наше приложение довольно велико и фактически разделено на несколько приложений для одной страницы ember.js(например, index, admin, reports и т.д.), Которые используют общий набор utils и компонентов.
Я пытаюсь выяснить, возможно ли это с помощью ember-cli, и если да, то как мне это сделать? Я видел, как некоторые люди говорили о стручках, другие говорили о аддонах, и еще один набор людей говорил о частных репозиториях. Я попытался выяснить информацию о каждом из них, но, похоже, все это немного изменилось.
Я не придираюсь к структуре каталогов или деталям. Но я предполагаю, что именно так я и предвидел бы это:
[app]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[admin]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[reports]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[shared_code]
- [components]
- [utils]
Brocfile.js
etc
Любые советы будут очень признательны. Даже отправная точка была бы очень полезной.
Изменить (28 января 2015 года):
Теперь дополнения Ember-cli более стабильны и могут быть использованы для этого приложения. Но IMHO у них все еще есть короткие предложения для этого случая использования. Они создают больше плиты котла, поскольку вам все равно придется импортировать отдельные модели/контроллеры/компоненты/etc в ваше прикладное пространство. См. Раздел "Компоненты" под аддонами: http://www.ember-cli.com/#managing-addon-dependencies
Есть также интересный RFC, чтобы принести двигатель, такой как поддержка ember и ember-cli, которые также могут удовлетворить это: https://github.com/emberjs/rfcs/pull/10
Изменить (3 октября 2015 года):
Существует новое обновление для RFC Engine, которое выглядит многообещающим для многих пользователей. Однако у нас все еще есть потребность в нескольких приложениях, которые на самом деле отличаются друг от друга. Еще один разработчик, с которым я работаю, провел некоторое время, чтобы очистить детали того, как лучше всего использовать этот шаблон.
Я документировал это и создал демо в репо: https://github.com/workmanw/ember-multi-app