У блогосфері є низка статей на тему керівних принципів щодо структурування додатків AngularJS, таких як ці (та інші):
- http://www.johnpapa.net/angular-app-structuring-guidelines/
- http://codingsmackdown.tv/blog/2013/04/19/angularjs-modules-for-great-justice/
- http://danorlando.com/angularjs-architecture-understanding-modules/
- http://henriquat.re/modularizing-angularjs/modularizing-angular-applications/modularizing-angular-applications.html
Однак один із сценаріїв, на які я ще не зіткнувся з рекомендаціями та найкращими практиками, - це той випадок, коли у вас є велика веб-програма, що містить декілька додатків «міні-спа», а всі програми для міні-спа мають певну кількість коду.
Я не маю на увазі випадок спроби мати кілька ng-app
оголошень на одній сторінці; швидше, я маю на увазі різні розділи великого сайту, які мають свою унікальну ng-app
декларацію.
Як пише Скотт Аллен у своєму блозі OdeToCode :
Один із сценаріїв, який я не дуже добре знайшов, - це сценарій, коли в одній великій веб-програмі існує кілька додатків і потрібен деякий спільний код для клієнта.
Чи є які-небудь рекомендовані підходи, які можна застосувати, підводні камені, яких слід уникати, або хороші зразкові структури цього сценарію, на які можна вказати?
Оновлення - 10.10.2015
Один проект із цікавою стратегією організації - MEAN.JS та папка з його модулями.
https://github.com/meanjs/mean
https://github.com/meanjs/mean/tree/master/modules
Ще один приклад з прикладу SPA ASP.NET Music Store SPA. https://github.com/aspnet/MusicStore https://github.com/aspnet/MusicStore/tree/master/src/MusicStore.Spa/ng-apps