javascript - 未找到 Angular JS 服务(无法实例化模块)

标签 javascript angularjs

我有 3 个具有以下层次结构的模块

  • app.js
    • 模块.js
      • 子模块.js

app.js

(function(ng, module){
    module.config([function(){
        console.log('main app');    
    }]);

}) (angular, angular.module('app', ['module']));

module.js

(function(ng, module){

    module.config(['service', function(service){ 
        console.log('module');
    }]);

}) (angular, angular.module('module', ['sub-module']));

子模块.js

(function (ng, module) {
    module.factory('service', [function () {
        console.log('test');
        return {};
    }]);

})(angular, angular.module('sub-module', []));

index.html

<html ng-app="app">

  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
    <script src="app.js"></script>
    <script src="module.js"></script>
    <script src="sub-module.js"></script>
  </head>

  <body>
    <h1>Hello Plunker!</h1>
  </body>

</html>

plnkr:http://plnkr.co/edit/8BHhpZHrIYpTd5gn0IsZ?p=preview

我在控制台中出现此错误:未捕获错误:[$injector:modulerr]

喷油器出了什么问题?

最佳答案

您正在尝试配置一个名为 service 的提供程序,但该提供程序不存在:

注意:下次使用 Angular 的非缩小版本时,它将为您提供更多信息。

如果您想配置名为服务的工厂,则必须将其设为提供者:

(function (ng, module) {
    module.provider('service', [function () {
        console.log('test');
        return {
          $get: function() { return {}; };
        };
    }]);

})(angular, angular.module('sub-module', []));

您还可以通过注入(inject) name_of_the_service + Provider 来配置提供商,根据您的情况:

(function(ng, module){

    module.config(['serviceProvider', function(serviceProvider){ 
        console.log('module');
    }]);

}) (angular, angular.module('module', ['sub-module']));

关于javascript - 未找到 Angular JS 服务(无法实例化模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28482456/

相关文章:

javascript - Angular.js错误: Duplicates in a repeater are not allowed - Track by index doesn't work

angularjs - 登录后让用户返回上一页( Node )

javascript - 使用 express.js 提供 html 文件以及脚本、css 和图像

javascript - Fancybox 弹出窗口 + JSVideo HTML5 视频 - 为什么我失去了控制权?

javascript '=' 作为链接对象?

javascript - 在我的指令中调用函数会产生错误 : 10 $digest() iterations reached

javascript - ng-click 上的 ng-show 不适用于 AngularJS

javascript - javascript中的非静态私有(private)变量

JavaScript 条件评估结果为 false?

javascript - 在 'option' 内嵌套数据列表 'div' 显示 "Element ' 选项'不能嵌套在元素 'div' 内“