2017-06-05 5 views
0

に次のコードは、私の地元のdevの環境で正常に動作しますが、私は、サーバー上でホストされているソリューションを持っているとき、私は次のエラーを取得しない、unminified JSを使用した後、私は次のエラーを取得する:

angular.js:66 Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to: 
    ReferenceError: shallowCopy is not defined 
以下は

ファイルのすべてと私のディレクティブを注入されapp.jsファイルを含む関連するコード、私のindex.phpファイルです:

のindex.php:

<!-- bootstrap/jquery --> 
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> 

<script src="js/jquery/jquery-3.1.1.min.js"></script> 
<script src="js/jquery/jquery-ui.min.js"></script> 
<link rel="stylesheet" href="styles/jquery/jquery-ui.min.css" /> 

<link rel="stylesheet" href="styles/bootstrap-3.3.7-dist/css/bootstrap.css" /> 
<script src="styles/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> 
<script src="plugins/Bootstrap-3-Typeahead-master/bootstrap3-typeahead.min.js"></script> 
<!-- end bootstrap/jquery --> 
<!-- custom css --> 
<link rel="stylesheet" href="styles/styles.css" /> 
<!-- end custom css --> 
<!-- favicon --> 
<link rel='shortcut icon' type='image/x-icon' href='media/images/favicon.ico' /> 
<!-- end favicon --> 

<!-- custom js --> 
<script src="js/main.js"></script> 
<!-- end custom js --> 

<!-- angularjs --> 
<script src="js/angularjs/angular.min.js"></script> 
<script src="js/angularjs/angular-route.min.js"></script> 
<script src="js/angularjs/angular-sanitize.js"></script> 

<script src="js/app.js"></script> 
<script src="js/login/login.js"></script> 
<script src="js/questionnaire/questionnaire.js"></script> 
<script src="js/study/study.js"></script> 
<script src="js/result/result.js"></script> 
<!-- end angularjs --> 
<div class="row" ng-app="app" > 
    <div ng-view> 
    </div> 
</div> 

app.js:

// app.js 
(function() { 

    "use strict"; 

    // Creating the Module 
    angular.module("app", ["ngRoute", "ngSanitize"]) 
    .config(function ($routeProvider) { 
     //$location.path('/questionnaire'); //logged in already, session still active 

     $routeProvider.when("/", { 
     controller: "loginController", 
     controllerAs: "vm", 
     templateUrl: "views/login.php" 
     }); 

     $routeProvider.when("/questionnaire/", { 
     controller: "questionnaireController", 
     controllerAs: "vm", 
     templateUrl: "views/questionnaire.php" 
     }); 

     $routeProvider.when("/questionnaire/:survey", { 
     controller: "questionnaireController", 
     controllerAs: "vm", 
     templateUrl: "views/questionnaire.php" 
     }); 

     $routeProvider.when("/study/:studyid", { 
     controller: "studyController", 
     controllerAs: "vm", 
     templateUrl: "views/study.php" 
     }); 

     $routeProvider.when("/result/", { 
     controller: "resultController", 
     controllerAs: "vm", 
     templateUrl: "views/result.php" 
     }); 

     $routeProvider.otherwise({ redirectTo: "/" }); 

    }); 

})(); 
+0

を使用してコードを置き換えますAngularJSのun-minified版を使用して、ルータなどはあなたにもっと役に立つエラーメッセージを与えるかもしれません。試してみる。 – Olezt

+0

@Olezt未使用のjを使用した後、次のエラーが表示されるようになりました。 angular.js:66未知のエラー:[$ injector:modulerr] ReferenceError:shallowCopyが定義されていません – vector

答えて

0

それはおそらくjsの縮小の問題だ、REF https://docs.angularjs.org/guide/di#implicit-annotation

は... [ '$ routeProviderに注意し、次のことを試してみてください。

この

(function() { 

    "use strict"; 

angular.module("app", ["ngRoute", "ngSanitize"]) 
    .config(['$routeProvider', function ($routeProvider) { 
     //$location.path('/questionnaire'); //logged in already, session still active 

    $routeProvider.when("/", { 
    controller: "loginController", 
    controllerAs: "vm", 
    templateUrl: "views/login.php" 
    }); 

    $routeProvider.when("/questionnaire/", { 
    controller: "questionnaireController", 
    controllerAs: "vm", 
    templateUrl: "views/questionnaire.php" 
    }); 

    $routeProvider.when("/questionnaire/:survey", { 
    controller: "questionnaireController", 
    controllerAs: "vm", 
    templateUrl: "views/questionnaire.php" 
    }); 

    $routeProvider.when("/study/:studyid", { 
    controller: "studyController", 
    controllerAs: "vm", 
    templateUrl: "views/study.php" 
    }); 

    $routeProvider.when("/result/", { 
    controller: "resultController", 
    controllerAs: "vm", 
    templateUrl: "views/result.php" 
    }); 

    $routeProvider.otherwise({ redirectTo: "/" }); 

}]); 

})(); 
+0

応答のおかげで、私はまだ私のアプリのための上記のコードを使用して同じエラーを取得しています.jsファイル。 – vector

+0

まあ、私はそれが細分化、圧縮、醜いこと、または何かについて何かであると確信しています。上記のコードは私がそれができると思った唯一のものです。あなたはあなたのプロジェクトの別の場所を探して、それと同じことをここで行うべきです –

+0

私は、ミニルートとunminified angularjsを使用しなければなりませんでした。助けてくれてありがとう! – vector

関連する問題