web-dev-qa-db-ja.com

Karmaがエラーをスロー:「ng-html2js」を読み込めません。登録されていません

karma startを実行するとエラーが発生します:

$ karma start
INFO [karma]: Karma v0.10.2 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
WARN [preprocess]: Can not load "ng-html2js", it is not registered!
  Perhaps you are missing some plugin?

...

しかし、私のパッケージファイルには"karma-ng-html2js-preprocessor": "*",があり、このプリプロセッサのコードを含むフォルダーはnode_modulesにあります。

問題を解決する方法に関するアイデアはありますか?

36
Ph0en1x

私の場合、問題はkarma config pluginsセクション内のkarma-ng-html2js-preprocessorの欠如に関連しています。チュートリアルで、プラグイン内に'ng-html2js'を追加する必要がないことを確認しましたが、私にとっては、プラグインなしでは機能しません。

50
Ph0en1x

-gフラグでインストールされ、パスを指定せずに実行されるKarmaのグローバルインストールを開始して実行している場合、つまりkarma start path/to/config.jsの場合、プラグインもグローバルにインストールされていること、つまりnpm install -g karma-ng-html2js-preprocessorを確認してください。

Karmaのローカルインストール、つまりpath/to/karma start path/to/config.jsを実行している場合は、そのアプリケーションのローカルにプラグインもインストールされていることを確認してください。

22
M.K. Safi

ドキュメントで Loading Plugins を確認してください。

pluginsプロパティを省略すると、次のプラグインをすべてロードしようとします。

  1. 接頭辞karma-が付いています。
  2. karma npmモジュールの兄弟。

したがって、ファイル構造が次の場合:

- node_modules
  - karma
  - karma-chrome-launcher
  - karma-firefox-launcher

...karma-chrome-launcherkarma-firefox-launcherは、使用中のkarmaモジュールの兄弟であるため、どちらもkarma-で始まるため、自動的にロードされます。


ただし、注意してください-dopluginsプロパティを定義すると、only定義されているものをロードします。つまり。 plugins: ['karma-chrome-launcher']がある場合、karma-firefox-launcherは読み込まれません。


自問するいくつかの質問:

  1. karmaのローカルバージョンまたはグローバルバージョンを使用していますか?
  2. すべてが最新ですか?そうでない場合は、npm updateまたはnpm uninstall-> npm installを試してください。
  3. ローカルバージョンを上書きするkarma-xのグローバルバージョンがありますか?
9
Adam Zerner