AngularJS : 未捕获错误: [$injector:modulerr] 使用 angularJS 的更新版本时

AngularJS : Uncaught Error: [$injector:modulerr] when using updated version of angularJS

本文关键字:angularJS 使用 更新 新版本 modulerr injector 错误 AngularJS      更新时间:2023-09-26

我在测试项目中使用了旧版本的angularJS(1.1.4((我想学习angularJS(。当我将angularJS脚本版本更改为最新版本时,出现此错误:

  Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.8/$injector/modulerr?p0=contactsManager&p1=…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.8%2Fangular.min.js%3A38%3A435)

我不知道是什么导致了这个错误...有人知道问题出在哪里吗?

更新:

从angularJS中删除.min后.js我得到了更干净的错误消息,所以这里是:

Error: [$injector:unpr] Unknown provider: $routeProvider
http://errors.angularjs.org/1.3.8/$injector/unpr?p0=%24routeProvide

这是代码:

.JS:

//application.js
var app = angular.module('contactsManager', []);
app.config(function ($routeProvider) {
    $routeProvider
        .when('/contacts',
            {
                controller: 'ContactsController',
                templateUrl: './application/templates/contacts.html'
            })
        .when('/add-contact',
            {
                controller: 'ContactAddController',
                templateUrl: './application/templates/addContact.html'
            })
        .when('/edit-contact/:contactId',
            {
                controller: 'ContactEditController',
                templateUrl: './application/templates/editContact.html'
            })
        .when('/display-contact/:contactId',
            {
                controller: 'ContactDetailsController',
                templateUrl: './application/templates/displayContact.html'
            })
        .otherwise({ redirectTo: '/contacts' });
});

.HTML:

<!DOCTYPE html>
<html data-ng-app="contactsManager">
<head>
    <title>Contacts</title>
    <link href="css/bootstrap.min.css" rel="stylesheet" />
    <link href="css/custom.css" rel="stylesheet" />
</head>
<body>
    <div class="navbar navbar-top">
        <div class="navbar-inner">
            <div class="container">
                <h2>Contacts</h2>
            </div>
        </div>
    </div>
    <div ng-view class="example-animate-container"
    ng-animate="{enter: 'example-enter', leave: 'example-leave'}"></div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.7/angular-resource.min.js"></script>
    <script src="application/application.js"></script>
    <script src="application/controllers/controllers.js"></script>
    <script src="application/services/contactsService.js"></script>
</body>
</html>

较新版本的 Angular ngRoute为一个单独的模块,您必须将其包含在项目中。

<script src="//code.angularjs.org/X.Y.Z/angular-route.js"></script>

https://docs.angularjs.org/api/ngRoute

并通过注入ngRoute更新您的应用程序初始化

var app = angular.module('contactsManager', ["ngRoute"]);