私はangularを初めて使い、JSON APIファイルでそれを使用しています。テストのために、無料のgithub apiを使用しようとしています(関数の名前は、後で使用する別のjson apiの名前です)。関数がconsole.log()
で動作しているかどうかを確認したかったのですが、コンソールでこのエラーを受け取りました。
キャッチされないエラー:[$ injector:modulerr]が原因でモジュールMesaViewerのインスタンス化に失敗しました:エラー:[$ injector:nomod]モジュール 'MesaViewer'は使用できません!モジュール名のつづりを間違えたか、ロードするのを忘れました。モジュールを登録する場合は、2番目の引数として依存関係を指定してください。
MesaViewer
のスペルは両方ともまったく同じで、2行目に依存関係が見られます!
var app = angular.module("MesaViewer");
var MainController = function($scope, $location, $http, $routeParams) {
私は何を間違えましたか?ここに私のプランクがあります: http://plnkr.co/edit/sZPaFbzbOB6AmVCLL1vq
そのはず
var app = angular.module("MesaViewer", []);
これはモジュールを定義するために必要な構文であり、依存関係がないことを示すために配列が必要です。
あなたが使用する
angular.module("MesaViewer");
既に定義したモジュールを参照するときの構文。
主任研究員、主任研究員、セグンド・セグンド・デ・マトリズ・デ・ディペンデンシアス・ア・クリア・ウム・モドロ、カソ・コントラーリオ、エ・マ・レフェレンシア・ア・エム・モドゥロの存在
ムダンサ:
var app = angular.module("MesaViewer");
パラ:
var app = angular.module("MesaViewer",[]);
同じエラーが発生したため、修正しました。それは愚かな理由であることが判明しました。
これが犯人でした:
<script src="app.js"/>
修正:
<script src="app.js"></script>
スクリプトタグが適切に終了していることを確認してください!
別の理由で同じエラーを受け取ったときにこの質問を見つけました。
私の問題は、Gulpが新しいモジュールを宣言したという事実に気付かず、Gulpを手動で再実行する必要があったことです。
同じ問題がありますが、angular.min.jsの前にjquery.min.jsを追加することで解決しました。
最初にindex.htmlにモジュールとコントローラーを挿入してください。次に、モジュールでこのコードを使用しますvar app = angular.module("MesaViewer", []);
AngularJS
1.6.9+の使用
もう1つインシデントがあります。モジュール名とは異なる変数名を宣言した場合にも発生します。
var indexPageApp = angular.module('indexApp', []);
このエラーを取り除くには、
エラー:[$ injector:nomod]モジュール 'indexPageApp'は使用できません!モジュール名のつづりを間違えたか、ロードするのを忘れました。モジュールを登録する場合は、2番目の引数として依存関係を指定してください。
var宣言された名前に似たモジュール名を変更する、またはその逆-
var indexPageApp = angular.module('indexPageApp', []);
私は同じエラーがありましたが、私はそれを解決しました、それはAngularJSプロバイダーの構文エラーでした