错误:[$ injector:modulerr]

use*_*875 6 javascript angularjs

我是新手.只是学习/尝试将Angular与我的webapp集成(Java + jQuery + requireJS).我没有使用任何路由器,下面是我的脚本.从其他stackoverflow我了解到这个错误是由于缺少ngRoute模块的包含.从版本1.1.6开始,它是一个单独的部分.但在我的下面的代码中,我根本不使用任何ngRouter.当我没有引用它为什么我会收到此错误?

错误:[$ injector:modulerr]由于以下原因无法实例化模块计数器:[$ injector:nomod]模块'计数器'不可用!您要么错误拼写了模块名称,要么忘记加载它.如果注册模块,请确保将依赖项指定为第二个参数.http://errors.angularjs.org/1.2.11/ $ injector/nomod?p0 = counter

模板:

<ul ng-app="counter" ng-controller="counterController">
<li>
   <span class="ui-button-text" ng-bind="critical"></span>
</li>
<li>
   <span class="ui-button-text" ng-bind="error"></span>
</li>
<li>
   <span class="ui-button-text" ng-bind="warn"></span>
</li>
<li>
   <span class="ui-button-text" ng-bind="note"></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JS

requirejs.config({
  paths : {  angular: "/js/lib/angular/angular.min" },
  shim : {  "angular": {  deps: [ "jquery"],  exports: "angular" } }
});

require(["angular", "jquery"],function() {

var module = angular.module('counter', []);

module.controller('CounterController', function ($scope, $http, $timeout) {
    $scope.critical = 0;
    $scope.error = 0;
    $scope.warn = 0;
    $scope.note = 0;

    function setData(d){
        $scope.critical = d.critical;
        $scope.error = d.error;
        $scope.warn = d.warn;
        $scope.note = d.note;
    }

    var getCounters = function() {
        var config = {headers: {
                'X-MY-Request': (new Date()).getMilliseconds()
            }
        };

        $http.get('xxxxxxx', config)
                .success(function(data, status, headers, config) {
            setData(data);
            $timeout(getCounters, 60000);
        }).error(function(data, status, headers, config) {
            // Handle the error
        });

    }


    $timeout(getCounters, 500);
});
Run Code Online (Sandbox Code Playgroud)

mat*_*ttl 3

在您的模板中,您的控制器名称具有小写开头字母counterController。你的js有一个大写的CounterController。这可能是问题所在吗?

任何未找到的注入模块都会抛出错误。不仅仅是 ngRoute。

编辑

我只是把一个快速的插件放在一起,没有“要求”的东西,你的所有代码都是正确的。所以不,你的角度代码中没有遗漏任何内容。所有模块都在工作。

所以问题一定出在你的“要求”设置上。我实际上从未使用过它,所以无法真正帮助你。在这里查看更多Angular + Requirejs - 以错误的顺序加载

现在,如果我是你,我会一次学习一种技术。只需加载您的 Angular 和 jquery 资源,然后学习如何使用它们。然后当你感觉更舒服时添加“require”。