Структурирование приложения 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 так, как вы этого хотели.

Другие вопросы по тегам