angularアプリケーションが増えています。時々、物事を台無しにして、次のタイプのエラーを取得します:
[$injector:modulerr] Failed to instantiate module App due to:
エラーメッセージに基づいてエラーを見つけるのは非常に困難です。特に、さまざまなコントローラーを備えたファイルが多数ある場合などです。
ChromeまたはFirefoxでこれらのエラーをデバッグする方法はありますか?
説明のためだけに。
これは、ロード時に得られるものです縮小バージョンAngular(angular.min.js
):
Error: $injector:modulerr
Module Error
Failed to instantiate module eduApp due to:
Error: [$injector:modulerr] http://errors.angularjs.org/1.4.7/$injector/modulerr?p0=e...)
at Error (native)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:6:416
at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:38:184
at m (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:7:322)
at h (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:37:275)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:37:444
at m (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:7:322)
at h (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:37:275)
at fb (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:41:35)
at d (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js:19:463
そして、これはnminified version(angular.js
):
Error: $injector:nomod
Module Unavailable
Module 'ui.bootstrap' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
最初のエラーは解決するのが本当に大変です。 2つ目ははるかに簡単です。
幸せなコーディング!
AngularJSの最小化により、読み取り不可能なエラーが発生します
...デバッグを容易にするために、非縮小バージョンを開発で使用します。
次のアプローチがいくらか役立つと思いました。ローカルangular.js
ファイルを変更できるように:
angular.js
ファイルmessage = message + '\ nhttp://errors.angularjs.org/1.3.5/' + (module?module + '/': '')+ code;
console.log(message);
ここから取得: http://www.chrisgmyr.com/2014/08/debugging-uncaught-error-injectormodulerr-in-angularjs/