Ответ 1
В маршрутах AngularJS определены в блоке конфигурации. Каждый модуль AngularJS может иметь несколько блоков конфигурации, и вы можете определять маршруты в каждом конфигурационном блоке. Окончательная маршрутизация для всего приложения - это сумма маршрутов, определенных во всех модулях.
На практике вы можете сделать это как:
angular.module('myModule1', []).config(function($routeProvider){
//define module-specific routes here
});
angular.module('myModule2', []).config(function($routeProvider){
//define module-specific routes here
});
angular.module('myApp', ['myModule1', 'myModule2']).config(function($routeProvider){
//define app-level routes here
});
Что касается разделения файлов - я думаю, это во многом зависит от того, как вы разделяете модули AngularJS в файлах. Я бы порекомендовал придерживаться однофайла, равного одномодульному принципу.
Вы можете увидеть все это применительно к крупномасштабному веб-приложению в angular -app, попытке создать ссылку для нетривиального приложения, написанного в AngularJS:
В упомянутом приложении вы можете увидеть маршруты, определенные в нескольких файлах, например: