繁体   English   中英

未捕获的错误:[$ injector:modulerr]

[英]Uncaught Error: [$injector:modulerr]

好的,我知道这个错误有数十亿个问题,但是这个错误已经使我丧命了几个小时。 请有人指出我的错误!

index.html的:

<html lang="en" >
    <head>
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.4.2/angular-ui-router.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-google-maps/2.4.1/angular-google-maps.js"></script>
    </head>
    <body ng-app="jigup">
        <div data-ui-view=""></div>

        <script type="text/javascript" src="<?php echo base_url('app/app.module.js'); ?>"></script>
        <script type="text/javascript" src="<?php echo base_url('app/app.config.js'); ?>"></script>

        <script type="text/javascript" src="<?php echo base_url('app/mapComponent/map.module.js'); ?>"></script>
        <script type="text/javascript" src="<?php echo base_url('app/mapComponent/map.component.js'); ?>"></script>
    </body>
</html>

app.module.js:

(function(){
    angular.module('jigup', [
        'ui.router',
        'map',
        //'ngMap'
    ]);
})();

app.config.js:

(function(){
    angular
        .module('jigup')
        .config(function($stateProvider, $urlRouterProvider) {
            $urlRouterProvider.when("", "/map");
            $stateProvider
                .state("map", {
                    url: "/map",
                    component: "mapComponent"
                })
                .state("map.about", {
                    url: "/about",
                    templateUrl: "about.html"
                })
        });     
})();

mapComponent / map.module.js:

(function(){
    angular.module('map', [
        'ngMap'
    ]);
})();

mapComponent / map.component.js:

(function(){
    angular.module('map')
        .component('mapComponent', {
            template: 'this is map',
            /* controller: mapController */
        });

    /* mapController.$inject = ['ngMap'];
    function mapController(ngMap){

    } */
})();

我检查了每个文件是否都能成功下载,但始终(如果从app.module.js注释为'map' ,则不会显示ge)得到错误:

angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.6/$injector/modulerr?p0=jigup&p1=Error%3A%2…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.6%2Fangular.min.js%3A21%3A332)
    at angular.js:38
    at angular.js:4630
    at q (angular.js:322)
    at g (angular.js:4591)
    at db (angular.js:4513)
    at c (angular.js:1777)
    at Ac (angular.js:1798)
    at fe (angular.js:1683)
    at angular.js:31018
    at HTMLDocument.b (angular.js:3197)

您需要更改文件顺序。 jigup模块依赖于map modoule,因此应更早定义。

<script type="text/javascript" src="<?php echo base_url('app/mapComponent/map.module.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('app/app.module.js'); ?>"></script>

<script type="text/javascript" src="<?php echo base_url('app/app.config.js'); ?>"></script> 
<script type="text/javascript" src="<?php echo base_url('app/mapComponent/map.component.js'); ?>"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM