Angular无法找到服务

时间:2016-05-18 09:22:26

标签: angularjs angular-services

我又遇到了一个小问题,我自己无法解决。

我在一些文件中获得了一些服务。我的构建系统将所有文件合并为一个大文件。结果就是这个(缩短):

/// file: _.service.js
angular.module('services', []);

/// file: aufgang.service.js
angular.module('services').factory('aufgangService', ['$resource', function ($resource) {
    "use strict";

    return $resource(
        configuration.api2_base_url + '/api/Aufgang/:id',
        { id: '@id' },
        {
            single: { method: 'GET', isArray: false },
            get: { method: 'GET', isArray: true }
        }
    );
}]);

/// file: beleg-monitor.service.js
angular.module('services').factory('belegMonitorService', ['$resource', function ($resource) {
    "use strict";

    return $resource(configuration.api2_base_url + '/api/BelegMonitors', {}, { get: { method: 'GET', isArray: true } });
}]);

这是我主模块的标题

angular.module('mainModule', ['ui.router', 'ui.bootstrap', 'oc.lazyLoad', 'ngSanitize','services'])

现在我遇到了问题,注射器无法找到服务。我错过了什么吗?

4 个答案:

答案 0 :(得分:3)

试试这个:

1)添加angular-resource.js:“//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-resource.js”

2)更改为angular.module('mainModule',['ui.router','ui.bootstrap','oc.lazyLoad','ngSanitize','services','ngResource'])

答案 1 :(得分:0)

我认为有三个可能的原因:

  1. 你的构建"忘记"添加其中一个文件
  2. 如果您有多个模块,请检查检测到缺少的依赖项的模块是否依赖于此模块
  3. 服务名称中的拼写错误?
  4. 打开你的控制台debogguer并粘贴邮件,如果你想让我们告诉你,如果你在阅读它时遇到一些麻烦,那就缺少了依赖。

答案 2 :(得分:0)

当angular.module('mainModule',['ui.router','ui.bootstrap','oc.lazyLoad','ngSanitize','services'])似乎'services'模块不可用行已执行。原因可能是'services'模块是在一个单独的文件中创建的,所以在执行angular.module('mainModule'... line。

之后可能会有'服务'被创建的机会。

尝试在angular.module('mainModule'...行)执行的相同文件中创建'services'模块,如果没有。

答案 3 :(得分:0)

我认为'服务'没有问题。模块,因为以下模块hirarchy工作正常。所以,必须错过其他一些依赖。

/// file: _.service.js
        angular.module('services', []);

        /// file: aufgang.service.js
        angular.module('services').factory('aufgangService', function ($resource) {
            "use strict";

            return function () {

            };
        });

        /// file: beleg-monitor.service.js
        angular.module('services').factory('belegMonitorService', function ($resource) {
            "use strict";

            return function () {

            };
        });

        angular.module('mainModule', ['services']);
        angular.module('mainModule').controller("mainCtrl", function ($scope) {
            $scope.Message = "Hello World !!!";
        })