【问题标题】:AngularJs show Error: [$injector:modulerr] in console?AngularJs 显示错误:控制台中的 [$injector:modulerr]?
【发布时间】:2015-05-07 12:40:40
【问题描述】:

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/$injector/modulerr?p0="

包括所有控制器。

【问题讨论】:

  • 在 angular.js 文件之前包含 jquery... Bcoz angular.js 使用 jquery...
  • @GnanaduraiA 这不是真的
  • @GnanaduraiA 绝对不需要包含 Jquery 并且 Angular 不使用 Jquery,它是 JQLite
  • @Augustian 首先请看一下这个问题:stackoverflow.com/questions/22898927/…
  • 为什么在不需要的时候将 $scope 和 $resource 添加到配置中?

标签: angularjs ngresource ngroute


【解决方案1】:

我猜您实际上缺少一些脚本。如果不使用 bower,请尝试安装它们或手动添加它们。缺少 angular-route.js(不包含在 Angular 中)尤其常见。如果您的 Web 开发人员控制台中有任何 404,它们将有助于确认这种怀疑(尽管如果以不寻常的方式配置,您的 Web 服务器可能不会将它们作为 404 提供服务)。

【讨论】:

    【解决方案2】:
    1. 您不能在配置阶段注入$scope

    配置块 - 在提供者注册和配置阶段执行。只有 providersconstants 可以注入到配置块中。这是为了防止服务在完全配置之前意外实例化。

    1. 您不能在控制器中注入 $routeProvider,因为它已经配置好了,请改用 $route 服务。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-25
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多