1. ホーム
  2. javascript

[解決済み] angular.js:38 Uncaught Error: [$injector:modulerr]です。

2022-02-05 02:26:54

質問

このエラーが何度も出ます。

angular.js:38 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.6.4/$injector/modulerr?p0=sport1Feed&p1=Error…ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.6.4%2Fangular.min.js%3A22%3A179)
    at angular.js:38
    at angular.js:4920
    at q (angular.js:403)
    at g (angular.js:4880)
    at eb (angular.js:4802)
    at c (angular.js:1914)
    at Sc (angular.js:1935)
    at ue (angular.js:1820)
    at angular.js:33367
    at HTMLDocument.b (angular.js:3431)

私のアプリは、私のコントローラと同じように、htmlで定義され、起動されます。私はここで何を間違えているのでしょうか?

app.js:

var app = angular.module('testApp', ['ngAnimate', 'ngSanitize', 'ui.bootstrap','ui.router']);

ctrl.jsです。

app.controller('feedCtrl', function($scope, $http) {
    $http.get('https://api.myjson.com/bins/13vg19').then(function(res) {
        $scope.res = res.data;
        console.log($scope.res);
    });
});

htmlを使用します。

<!DOCTYPE html>
<html ng-app="testApp">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>My AngularJS App</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="app.css">
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
  <script src="./components/app/app.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.1/angular-material.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-sanitize/1.6.4/angular-sanitize.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/x2js/1.2.0/xml2json.js"></script>
  <script src="./components/controller/ctrl.js"></script>
</head>
<body>

<div data-ng-controller="feedCtrl">

</div>

</body>
</html>

ここでは具体的にどのようなエラーになるのでしょうか?私は ng-app の中に body タグを使用しても、同じ結果になります。見ての通り、app.jsはangularライブラリの後に呼び出されています。

ありがとうございます。

EDIT: 今、コンソールの「ネットワーク」のところで気づいたのですが https://api.myjson.com/bins/13vg19 が全く呼び出されない。

解決方法は?

依存関係の参照をすべて読み込んだ後、app.js を読み込むと、次のような順番になります。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.1/angular-material.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-sanitize/1.6.4/angular-sanitize.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/x2js/1.2.0/xml2json.js"></script>
  <script src="./components/app/app.js"></script>
  <script src="./components/controller/ctrl.js"></script>