Я пытаюсь перейти на ember-cli с некоторых старых самодельных инструментов сборки. Наше приложение довольно велико и фактически разделено на несколько одностраничных приложений ember.js (например, index, admin, reports и т. Д.), Которые используют общий набор утилит и компонентов.
Я пытаюсь понять, возможно ли это с помощью 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 у них все еще есть некоторые недостатки для этого варианта использования. Они создают больше шаблонов, поскольку вам все равно нужно импортировать отдельные модели / контроллеры / компоненты / и т. Д. В пространство вашего приложения. См. Раздел «Компоненты» под надстройками здесь: http://www.ember-cli.com/#managing-addon-dependencies
Существует также интересный RFC для поддержки ember и ember-cli, например, движка, который также может удовлетворить это: https://github.com/emberjs/rfcs/pull/10
Изменить (3 октября 2015 г.):
Есть новое обновление для Engines RFC, которое выглядит многообещающим для многих пользователей. Однако у нас все еще есть потребность в нескольких приложениях, которые на самом деле разные. Другой разработчик, с которым я работаю, потратил какое-то время, чтобы прояснить детали того, как лучше всего использовать этот шаблон.
Я задокументировал это и создал демонстрацию в репо: https://github.com/workmanw/ember-multi-app < / а>