問題タブ [ng-html2js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1627 参照

angularjs - $templateCache とともに ng-include を使用するとファイルが見つからない

ディレクティブに注入されたオブジェクトに応じて、異なるパーシャルを動的にロードしようとしているディレクティブがあります。

grunt-html2jsに追加するすべてのhtmlファイルを変換するために使用しています$templateCache。html ファイルが に追加されていることを確認しましたが、ページをロードすると、関数で参照されているファイル$templateCacheだけを見つけるのが困難です。.htmltemplate

これは何らかのタイミングの問題ですか?テンプレート機能を使用するより良い方法はありますか?

0 投票する
1 に答える
386 参照

angularjs - AngularJS テンプレートを ng-html2js で前処理しているときに Lexer エラーが発生するのはなぜですか?

Karma を使用して AngularJS ディレクティブの単体テストを作成しようとしています。テストでディレクティブのテンプレートを使用できるようにするために、karma-ng-html2js-preprocessorを使用します。

次のテンプレート HTML では、単体テストで Lexer エラー メッセージが表示されますが、実際のシステムではすべて正常に動作します。

エラーメッセージ:

エラー: [$parse:lexerr] レクサー エラー: 式 [{width: vm.width,\n' + ' height: vm.height,\n' + ' \'margin の列 17-17 [] に予期しない次の文字があります-left\': vm.x,\n' + ' \'margin-top\': vm.y}].

これはプリプロセッサのバグですか、それとも式に問題がありますか?

0 投票する
0 に答える
633 参照

angularjs - ng-html2js-preprocessor を使用した角度単体テスト用の相対テンプレート パスの追加

テンプレート URL を含む角度ディレクティブがあります。カルマでディレクティブをテストしようとしています。ng-html2js-preprocessor でディレクティブの html を取得します。

私のプロジェクトフォルダー構造は

ここで、myproject は私のプロジェクト フォルダーです。そのため、他の環境では var/www が異なる場合があります。

私はディレクティブ.jsで:

今私が書いたkarma.config.jsファイルに

ログのターミナルで構成ファイルを実行した後、私は見ました:

私が書いたテストファイルで

そして、このコードは正しく機能していますが、私の問題はパス /var/www がすべての環境で同じではないことです。他のユーザーがプロジェクトを他のパスに保持している可能性があり、機能しません。したがって、いくつかの相対パスを追加する必要があります。ここに相対パスを追加する方法を教えてもらえますか?

で試しました

karma.config.js ファイルとテスト ファイル:

しかし、モジュール '/templates/directive.html' のインスタンス化に失敗したというエラーが表示され、機能しませんでした。

私も試してみました

karma.config.js ファイルとテスト ファイル:

しかし、それも失敗しました。この問題を修正して相対 URL を追加する方法を教えてください。

0 投票する
0 に答える
170 参照

javascript - karma-ng-html2js-preprocessor で URL パラメーターを使用する方法

ディレクティブをテストしようとしていますが、すべてをカルマでロードすると、ng-html2js を使用します。

モジュールを正常にロードした後、失敗します

実際の質問

ng-html2js モジュールに URL パラメータを追加するにはどうすればよいですか?

?v=VERSIONNUMBER を使用して各テンプレート ファイルにキャッシュを追加するため、ディレクティブでもテンプレート

カルマ構成

テスト

0 投票する
2 に答える
836 参照

javascript - isolateScope() は undefined を与える - Karma を使用したユニット テスト ディレクティブ

質問のタイトルに記載されているように、 を呼び出すと undefined になりisolateScope()ます。Unit Testing AngularJS Directives With External Templatesの指示に基づいて、Angular ディレクティブを単体テストしようとしました。

これが私のコードです:

ディレクティブ.js

私はkarma-ng-html2js-preprocessortemplateUrlに使用しました。

karma.conf.js (コードは ng-html2js に関連する部分のみを含みます)

ディレクティブSpec.js

console.log(element);版画はこちら{0: <test-directive label="label" class="ng-scope"></test-directive>, length: 1}

問題: console.log('Isolate scope: '+ element.isolateScope());を与えundefinedます。

StackOverflow の多くの質問でこの問題を調べましたが、正しい解決策を見つけることができませんでした。

また、 を使用し$httpBackendて html ファイルを取得する必要があります。そうしないと、Unexpected Requestエラーがスローされます。

過去1週間からこのエラーに悩まされているので、助けていただければ本当に感謝しています!

0 投票する
1 に答える
1351 参照

karma-runner - Karma プリプロセッサーが実行されていません

私の karma.conf.js には以下が含まれます:

(プラグインも指定せずに試しました。)

私のdevDependenciesには以下が含まれます:

私のテストは次のとおりです。

これらはエラーを与えます:

でカルマを実行すると--log-level debug、エントリが表示されません。[preprocessor.html2js](私は得ますLoading plugin karma-ng-html2js-preprocessor.

私は何を間違っていますか?

0 投票する
0 に答える
348 参照

javascript - ng-html2js-preprocessor で「Unexpected Request GET」を修正しようとしても機能しません

カルマとジャスミンで角度ディレクティブをテストしたい。このディレクティブは、complete.html という名前の外部テンプレートを使用します。

次のコードで html テンプレートを取得しようとしています。

次に、次のエラーが表示されます。

問題の解決策を検索したところ、次の投稿が見つかりました: テンプレートUrlを使用したAngularJSディレクティブの単体テスト

カルマソリューションの指示に従いました。私の karma.conf.js は次のようになります。

(もちろん不要な部分は切り落としました)

次に、指示に従って、生成されたモジュール complete.html をテスト ファイルにロードしようとします。

しかし、私はまだエラーが発生しますError: Unexpected request: GET test/complete.html

重要な部分を実行できていないように感じますが、現在の状況に対する完全な解決策を見つけることができません。エラーが発生しないように、生成されたモジュールを正しく使用するにはどうすればよいですか?

助けていただければ幸いです。

0 投票する
1 に答える
466 参照

angularjs - ng-htmljs-preprocessor カルマ プリプロセッサのセットアップ

Karma 構成ファイルをセットアップしていますが、ngHtml2JsPreprocessor を介して実行されたテンプレートのテストに成功していないため、存在するいくつかのオプションを完全には理解していません。

ngHtml2JsPreprocessor 内で、パスを含むいくつかの重要な値のプロパティを追加できます。

各ファイルにモジュールとしてアクセスできるようにするために、今のところテンプレートをコメントアウトしました。エラーなしでモジュールをロードしています。開発ツールで templateCached バージョンを見つけることができます。

テンプレート フォルダーは、作成したベースパスの外にあります。

プリプロセッサオブジェクト内で参照しています

ここでも、すべてのテンプレートが js ファイルになり、キャッシュされます。

私はpackage.json の中にファイルを保存しました

プラグインで自分のインストールを参照しました。

すべてのファイルをロードしました

Karma の開始時にテストが実行されています

ただし、私のディレクティブは単なる空の文字列です

戻り値 ""

私は吟遊詩人の注入を設定しました

これが私のbeforeEachの内部です

空の文字列が返される理由がわかりません。私はhtmlファイルを作成していますが、その中には何もありません。

templatesCached ファイルを開発ツールのフォルダーに表示する必要があるかどうか疑問に思うことはありますか? また、 karma.conf.js内の files 配列内でファイルを参照する必要があるかどうか。

現在、html ファイルを参照していますか? 私はjsファイルを試しましたが、それは何もしなかったようです