Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法加载angular js模块获取angular.js:38未捕获错误:[$injector:modulerr]_Javascript_Angularjs_Node.js_Bootstrap Modal - Fatal编程技术网

Javascript 无法加载angular js模块获取angular.js:38未捕获错误:[$injector:modulerr]

Javascript 无法加载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

起初我认为这可能是因为ngRoute模块,所以我也添加了依赖项,即使遇到同样的错误。作为一个初学者,这让我头疼。。。。伙计们需要帮忙吗

index.html

   <!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;
    }]);