Если модуль app.userModule.services создается первым (index.js), а затем создается для создания фабрики (UserService.js), почему я получаю следующую ошибку?Модуль должен быть создан дважды в AngularJS
Uncaught Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- UserService
Только если я создаю модуль в UserService (добавлен [ ''] ngResource) приложение работает правильно.
angular.module('guotay.userModule.services', [ 'ngResource' ]).factory(...
Вопрос: Почему содержание пользователей/услуг/index.js игнорируется ??
Структура проекта и некоторые части кода:
index.html:
<script src="app/app.js"></script>
<script src="app/components/user/index.js"></script>
<script src="app/components/user/controllers/index.js"></script>
<script src="app/components/user/controllers/LoginCtrl.js"></script>
<script src="app/components/user/services/index.js"></script>
<script src="app/components/user/services/UserService.js"></script>
И то же самое с другими модулями
пользователя/index.js
angular.module('app.userModule', [ 'app.userModule.controllers',
'app.userModule.services' ]).config(function config($routeProvider) {...});
пользователя/услуги/index.js
angular.module('app.userModule.services', []);
пользователя/услуги/UserService.js
var serviceId = 'UserService';
angular.module('app.userModule.services').factory(serviceId, [ '$resource',
serviceFunc ]);
function serviceFunc($resource) {...}
app.js
angular.module('app', ['ngRoute', 'ngCookies', 'app.userModule', 'app.newsEntryModule'])
.config(...)
.run(function($rootScope, $location, $cookieStore, UserService) {
UserService.get(function(user) {
$rootScope.user = user;
$location.path(originalPath);
});});
У меня есть другие услуги с той же реализации, и они работают правильно с созданием модуля в index.js, но они не отображаются в app.js.
Почему вы не указываете 'ngResource' в качестве зависимости в user/services/index.js? – JLRishe