未捕获的错误: [$injector:模块rr]



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

索引.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模组,因此应更早定义。

<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>

最新更新