Javascript 无法加载angular js模块获取angular.js:38未捕获错误:[$injector:modulerr]
起初我认为这可能是因为ngRoute模块,所以我也添加了依赖项,即使遇到同样的错误。作为一个初学者,这让我头疼。。。。伙计们需要帮忙吗 index.htmlJavascript 无法加载angular js模块获取angular.js:38未捕获错误:[$injector:modulerr],javascript,angularjs,node.js,bootstrap-modal,Javascript,Angularjs,Node.js,Bootstrap Modal,起初我认为这可能是因为ngRoute模块,所以我也添加了依赖项,即使遇到同样的错误。作为一个初学者,这让我头疼。。。。伙计们需要帮忙吗 index.html <!DOCTYPE html> <html ng-app="myApp"> <head> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.b
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<title>Contact List Application</title>
</head>
<body>
<div class="container" ng-controller="AppCtrl">
<h1>Contact List for Members</h1>
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>contact</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="contact in contactlist">
<td>{{contact.name}}</td>
<td>{{contact.email}}</td>
<td>{{contact.number}}</td>
</tr>
</tbody>
</table>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.3/angular-route.min.js"></script>
<script src="controllers/controller.js">
</script>
</body>
</html>
在联机代码编译器上测试代码工作正常,但当我在node server localhost中运行此代码时,会抛出上述错误。我认为发生这种情况是因为您使用的是angular的缩小版本。当您使用缩小版本时,您需要将注入控制器的依赖项添加为单独的字符串数组,如下所示
.controller('AppCtrl',['$scope',函数AppCtrl($scope){
所有服务/控制器和指令都应采用这种方法
原因是当脚本缩小时,依赖项注入器无法识别哪个服务是哪个服务。如果看到缩小代码,则可能会注意到插入的依赖项不在其中。相反,有一个或两个字符引用了相关的依赖项
所以angular所做的是为了找到哪个依赖项,它们允许我们将依赖项写为字符串数组,然后injector可以很容易地识别服务
angular.module('myApp', ['ngRoute'])
.controller('AppCtrl',['$scope', function AppCtrl($scope) {
person1 = {
name: 'tm',
email: 'tm@gmail.com',
number: '(111) 222-2222'
};
person2 = {
name: 'dk',
email: 'dik@gmail.com',
number: '(111) 222-2223'
};
person3 = {
name: 'hey',
email: 'hey@gmail.com',
number: '(111) 222-2224'
};
var contactlist = [person1, person2, person3];
$scope.contactlist = contactlist;
}]);
控制台中的错误是什么。?仅F12angular.js:38未捕获错误:[$injector:modulerr]…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.6.3%2Fangular.min.js%3A22%3A179)在angular.js:38在angular.js:4920在p(angular.js:402)在g(angular.js:4880)在eb(angular.js:4802)在c(angular.js:1909)在Pc(angular.js:1930)在ue(angular.js:1815)在angular.js:33340在HTMLDocument.b(angular.js:3435)我尝试了你的建议,尽管问题仍然存在,你能创建一个演示吗
angular.module('myApp', ['ngRoute'])
.controller('AppCtrl',['$scope', function AppCtrl($scope) {
person1 = {
name: 'tm',
email: 'tm@gmail.com',
number: '(111) 222-2222'
};
person2 = {
name: 'dk',
email: 'dik@gmail.com',
number: '(111) 222-2223'
};
person3 = {
name: 'hey',
email: 'hey@gmail.com',
number: '(111) 222-2224'
};
var contactlist = [person1, person2, person3];
$scope.contactlist = contactlist;
}]);