Как AngularJS обрабатывает конфликты между именами сервисов? Например, если я объявил два модуля, каждый из которых содержит службу под названием "foo". Что было бы хорошим способом для служб "namespace", если я хочу создать модуль многократного использования или избежать конфликтов с другими сторонними модулями?
Услуги "Namespacing" в AngularJS
Ответ 1
На сегодняшний день AngularJS не обрабатывает конфликты пространства имен для сервисов, поэтому, если у вас есть 2 разных модуля с сервисом одинаковым образом, и вы включаете оба модуля в свое приложение, только одна служба будут доступны.
На данный момент лучшим вариантом является префикс имен служб с пользовательским префиксом, например:
angular.module('myprefix_mymodule',['dep1', 'dep2']).factory('myprefix_MyService', ...)
Ответ 2
Как отмечено pkozlowski, они этого не делают. Вы можете вручную добавить префикс ко всем вашим услугам (что раздражает), в качестве альтернативы я написал взломать пространство имён для вас. https://github.com/callmehiphop/angular-namespacer