AngularJs在控制台中显示错误:[$ injector:modulerr]?

时间:2015-05-07 12:40:40

标签: angularjs ngresource ngroute

HTML

<!DOCTYPE html>
<html ng-app="adaniapp">
<head>
  <link rel="stylesheet" href="css/bootstrap.min.css" />
  <link rel="stylesheet" href="css/font-awesome.css" />
  <link rel="stylesheet" href="css/style.css" />
</head>
<body>
    <div id="main">
        <div ng-view></div>
    </div>
  <script src="js/angular.min.js"></script>
  <script src="js/angular-route.js"></script>
  <script src="js/angular-resource.min.js"></script>
  <script src="js/app.js"></script>

</body>
</html>

的Javascript

var adaniapp = angular.module('adaniapp', ['ngRoute','ngResource']);
// configure our routes
adaniapp.config(['$scope', '$routeProvider', '$resource',function($scope, $routeProvider, $resource) {
    $routeProvider

        // route for the home page
        .when('/', {
            templateUrl : 'page/login.html',
            controller  : 'mainController'
        })

        // route for the about page
        .when('/home', {
            templateUrl : 'page/home.html',
            controller  : 'HomeController'
        })

        // route for the contact page
        .when('/meter', {
            templateUrl : 'page/meter.html',
            controller  : 'MeterController'
        })

        .when('/viewbill', {
            templateUrl : 'page/viewbill.html',
            controller  : 'ViewbillController'
        });
}]);

// create the controller and inject Angular's $scope
adaniapp.controller('mainController',['$scope', '$routeProvider', '$resource', function($scope, $routeProvider, $resource) {

}]);

adaniapp.controller('HomeController',['$scope', '$routeProvider', '$resource', function($scope, $routeProvider, $resource) {

}]);

adaniapp.controller('MeterController',['$scope', '$routeProvider', '$resource', function($scope, $routeProvider, $resource) {

}]);

adaniapp.controller('MeterController',['$scope', '$routeProvider', '$resource', function($scope, $routeProvider, $resource) {

}]);

包含ng-resource.js文件和route.js文件包含在index.html中,但仍然在我的控制台中显示错误

  

“错误:[$ injector:modulerr]   http://errors.angularjs.org/1.3.15/ $注射器/ modulerr?P0 =“

包括所有控制器。

2 个答案:

答案 0 :(得分:1)

我猜你实际上错过了一些脚本。尝试使用bower安装它们,或者如果不使用凉亭则手动添加它们。缺少angular-route.js,其中没有包含角度,特别常见。如果您的网络开发者控制台中有任何404,那么他们会帮助确认这种怀疑(尽管您的网络服务器可能不会像404那样为他们提供服务)以不寻常的方式配置。)

答案 1 :(得分:0)

  1. 您无法在配置阶段注入$scope
  2.   

    配置块 - 在提供商注册和配置阶段执行。只能将提供程序常量注入配置块。这是为了防止服务在完全配置之前意外实例化。

    1. 您无法在控制器中注入$routeProvider,因为它已经配置,而是使用$route服务。