エラーを受け取るAngular JSで問題が発生しました:Uncaught Error:[$ injector:modulerr]。私のJSファイルの外観
angular.module('MyApp', ['ngRoute']);
angular.module('MyApp',['ngResource']);
function TwitterCtrl($scope,$resource){
}
Angular-route-jsも含めました
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.min.js">
角度のドキュメントでは、問題は http://docs.angularjs.org/api/ngRoute
これを追加してみてください:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js"></script>
開発ではminified distributivesではないを使用することをお勧めします:そして、すべてのエラーはより有益になります!代わりにangle.min.jsはangular.jsを使用します
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.js">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.js">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.js">
追加してみてください:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-resource.min.js">
そして:
angular.module('MyApp', ['ngRoute','ngResource']);
function TwitterCtrl($scope,$resource){
}
現在のコードでは、新しいMyApp
モジュールoverwritingを作成しているため、すべての依存関係でangular.module
を1回だけ呼び出す必要があります。前のもの。
Angular.module( 'myModule'、[])を使用すると、モジュールmyModuleが作成され、myModuleという名前の既存のモジュールが上書きされることに注意してください。 angular.module( 'myModule')を使用して、既存のモジュールを取得します。
関数がクロージャでラップされていることを確認し、最後に追加の()を追加してください:
(function(){
var app = angular.module('myApp', []);
})();
以前にも同じ問題がありましたが、メインページ(app.js
)に「index.html
」(メインアプリケーション)を含めていないことに気付きました。そのため、AngularJSに必要なすべての依存関係を含めても、コンソールにそのエラーが表示される場合があります。したがって、メインページ内に必要なファイルを必ず含めるようにしてください。そうすれば、この問題は発生しません。
お役に立てれば。
この問題は、ngRouteモジュールが含まれていないために発生しました。バージョン1.1.6以降は別の部分です。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
var app = angular.module('myapp', ['ngRoute']);
これは次から参照を取得しています: AngularJS 1.2 $ injector:modulerr David answer
ロードされていない別のモジュールに依存しているため、このエラーが発生しました。
angular.module( "app"、["kendo.directives"])。controller( "MyCtrl"、function(){} ...
そのため、すべてのAngularモジュールがありましたが、剣道モジュールはありませんでした。
同じ問題がありました。次のような関数の外側にAngular jsコードを入力する必要があります。
$( document ).ready(function() {});
angular.moduleを保持する変数が正しく構成されていることを確認してください。
これは「Uncaught Error:[$ injector:modulerr]」で失敗します:
var angApp = angular.module("angApp");
これは動作します:
var angApp = angular.module("angApp", []);
エラーメッセージが特定の1つのことを指し示していないため、卑劣なものです(そのため、さまざまな回答があります)。さらに、ほとんどのjsリンターは詳細をキャッチしません。頑張って!
私はまったく同じ問題を抱えていましたが、それを解決したのはクロージャを削除:
$(function(){
var app = angular.module("myApp", []);
app.controller('myController', function(){
...
});
});
なる:
var app = angular.module("myApp", []);
app.controller('myController', function(){
...
});
Uncaught Error: [$injector:modulerr]
を取得していて、angularモジュールにエラーが表示されている場合は、ng-appモジュールが重複しています。
このエラーは、依存関係インジェクターが依存関係「ngResource」を見つけることができなかったことを意味します。受け入れられた回答のscriptタグは、この依存関係を提供します。
依存関係にカスタムモジュールを追加したが、依存関係を含む「.js」ファイルを含めるためのスクリプトタグを追加しなかった場合も、同じエラーが発生します。
私も同じ問題を抱えていました。次のコード行をBundleConfig.csファイルから削除しましたが、コードは正常に機能しています。
BundleTable.EnableOptimizations = true;
それが役立つ場合にこれを投げるだけで、私はこの問題を抱えており、Angularをバンドルしたときに、メインアプリファイルを "AngularWebApp.js"ではなく "AngularWebApp"として参照したため、お役に立てれば。
Cdnリンクスクリプトタグ内にjavascriptをロードしないでください。AngularJsスクリプトのロードには、別個のスクリプトタグを使用してください。私は同じ問題を抱えていましたが、別の<script>
を作成しました。その後、エラーは消えました。