gleber1
@gleber1

На сколько глубоко может зайти модульность и как лучше организовать ее angular?

Использование ангуляра я начал в связке с иноником, по началу я делал один большой модуль , два файла контроллеры и сервисы и того куча контроллеров и куча сервисов. затем по тихоньку сервисов сократилось до одного и кучки контроллеров, так же потом стал пробывать уже и сайты на ангуляре где каждая страница это модуль и связывается это все в большой, пытался рассматривать модули проецируя на бд, т.е юзер, юзернтрл,юзер сервис итд , потом связывал реквайр, уверен что это все детский лепет и есть какая то устоявшаяся хорошая практика, пожалуйста расскажите про нее по личному опыту и ссылками закидайте
  • Вопрос задан
  • 355 просмотров
Решения вопроса 1
@Kano
Ангуляр предполагает что все модули используемые в вашем приложении до начала работы приложения уже загружены в память. Т.е. никакой отложенной загрузки.
Есть метод позволяющий добавлять сервисы, контроллеры и т.д (но не модули) после старта приложения, но отложенную загрузку модуля этот метод делать не может и тогда получается что на модули можно разделить только то что вы можете загрузить сразу до старта приложения. - www.sagarganatra.com/2014/08/lazy-loading-angularj...
Есть метод позволяющий отложенное добавление и загрузку модулей к модулю приложения, но он находится в бета версии и больше выглядит как костыль нежели законченное решение. - https://github.com/ocombe/ocLazyLoad
Мой личный опыт (после некоторых проб и ошибок) заключается в том что я делю на модули все функциональные блоки приложения и делаю отложенную полную загрузку необходимых модулей при переходе на нужный раздел (без require)
У меня выходит что модуль это:
  • Раздел (контроллер)
  • Набор сервисов для доступа к api приложения (если приложение использует несколько api, то на каждый api по своему модулю)
  • Если можно из приложения выделить самодостаточный (наименьшее количество связей) блок не являющийся полным функционалом раздела, то это как правило становиться модулем (фотогалерея, витрина, меню, вспомогательные элементы тоже можно объединить в модуль)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы