Структурирование приложения Ember в подкаталогах с использованием Ember App Kit
Структура каталогов в Ember App Kit требует, чтобы все контроллеры находились в каталоге / app / controllers /; шаблоны руля находятся в каталоге / app / templates / и так далее.
Однако моя команда в настоящее время разрабатывает приложение Ember, в котором число функциональных областей (и, следовательно, исходных файлов) постоянно растет, поэтому мы хотим создать подкаталоги в этих каталогах для наших контроллеров, шаблонов и т. Д., А не группировать все в тот же каталог.
Мы сделали это для одной функциональной области, организовав наш контроллер и соответствующий шаблон руля следующим образом:
/app/controllers/availability/availability.js
/app/templates/availability/availability.hbs
Пока что единственный способ, которым мы смогли заставить этот подход работать (т.е. связать наш контроллер и шаблон в этой структуре вложенных каталогов), - создать следующий маршрут:
this.route ('Availability.availabilty', {путь: "/ Availability"});
Это побочный эффект Ember, создающий для нас следующее:
Название маршрута: доступность. Доступность
Маршрут: НаличиеДоступность
Контроллер: AvailabilityAvailabilityController
Шаблон: доступность / доступность
URL: #/ доступность
Слово "Доступность" дублируется в получающемся контроллере Ember, чтобы повторить нашу вложенную структуру каталогов доступности / доступности.
Кто-нибудь знает, как лучше организовать приложение в подкаталогах в Ember App Kit? Это, безусловно, должно быть общим требованием для приложений с большим количеством исходных файлов.
Мы бы хотели, например, чтобы Ember создал для нас следующее:
Название маршрута: наличие. доступность
Маршрут: Наличие Доступность
Контроллер: Доступность ДоступностьКонтроллер
Шаблон: доступность / доступность
URL: #/ доступность
Большое спасибо
2 ответа
Из документации по вложенным каталогам http://iamstef.net/ember-app-kit/guides/naming-conventions.html кажется, что вы можете делать то, что вы хотите сделать, с помощью одной настройки. Вместо того, чтобы помещать Availability.js в подпапку доступности, она должна быть на один каталог выше, тогда все контроллеры суб-доступности помещаются в эту подпапку.
+-- app
+-- controllers
| +-- availability
| | +-- edit.js
| +-- availability.js
+-- app
+-- templates
| +-- availability
| | +-- edit.hbs
| +-- availability.hbs
Пожалуйста, посмотрите на угольные стручки. http://cball.me/organize-your-ember-app-with-pods/
Это способ структурировать ваше приложение ember так, как вы этого хотели.