問題タブ [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.
angularjs - $templateCache とともに ng-include を使用するとファイルが見つからない
ディレクティブに注入されたオブジェクトに応じて、異なるパーシャルを動的にロードしようとしているディレクティブがあります。
grunt-html2js
に追加するすべてのhtmlファイルを変換するために使用しています$templateCache
。html ファイルが に追加されていることを確認しましたが、ページをロードすると、関数で参照されているファイル$templateCache
だけを見つけるのが困難です。.html
template
これは何らかのタイミングの問題ですか?テンプレート機能を使用するより良い方法はありますか?
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}].
これはプリプロセッサのバグですか、それとも式に問題がありますか?
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 を追加する方法を教えてください。
javascript - karma-ng-html2js-preprocessor で URL パラメーターを使用する方法
ディレクティブをテストしようとしていますが、すべてをカルマでロードすると、ng-html2js を使用します。
モジュールを正常にロードした後、失敗します
実際の質問
ng-html2js モジュールに URL パラメータを追加するにはどうすればよいですか?
?v=VERSIONNUMBER を使用して各テンプレート ファイルにキャッシュを追加するため、ディレクティブでもテンプレート
カルマ構成
テスト
javascript - isolateScope() は undefined を与える - Karma を使用したユニット テスト ディレクティブ
質問のタイトルに記載されているように、 を呼び出すと undefined になりisolateScope()
ます。Unit Testing AngularJS Directives With External Templatesの指示に基づいて、Angular ディレクティブを単体テストしようとしました。
これが私のコードです:
ディレクティブ.js
私はkarma-ng-html2js-preprocessor
templateUrlに使用しました。
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週間からこのエラーに悩まされているので、助けていただければ本当に感謝しています!
karma-runner - Karma プリプロセッサーが実行されていません
私の karma.conf.js には以下が含まれます:
(プラグインも指定せずに試しました。)
私のdevDependenciesには以下が含まれます:
私のテストは次のとおりです。
これらはエラーを与えます:
でカルマを実行すると--log-level debug
、エントリが表示されません。[preprocessor.html2js]
(私は得ますLoading plugin karma-ng-html2js-preprocessor.
)
私は何を間違っていますか?
javascript - ng-html2js-preprocessor で「Unexpected Request GET」を修正しようとしても機能しません
カルマとジャスミンで角度ディレクティブをテストしたい。このディレクティブは、complete.html という名前の外部テンプレートを使用します。
次のコードで html テンプレートを取得しようとしています。
次に、次のエラーが表示されます。
問題の解決策を検索したところ、次の投稿が見つかりました: テンプレートUrlを使用したAngularJSディレクティブの単体テスト
カルマソリューションの指示に従いました。私の karma.conf.js は次のようになります。
(もちろん不要な部分は切り落としました)
次に、指示に従って、生成されたモジュール complete.html をテスト ファイルにロードしようとします。
しかし、私はまだエラーが発生しますError: Unexpected request: GET test/complete.html
重要な部分を実行できていないように感じますが、現在の状況に対する完全な解決策を見つけることができません。エラーが発生しないように、生成されたモジュールを正しく使用するにはどうすればよいですか?
助けていただければ幸いです。
angularjs - ng-htmljs-preprocessor カルマ プリプロセッサのセットアップ
Karma 構成ファイルをセットアップしていますが、ngHtml2JsPreprocessor を介して実行されたテンプレートのテストに成功していないため、存在するいくつかのオプションを完全には理解していません。
ngHtml2JsPreprocessor 内で、パスを含むいくつかの重要な値のプロパティを追加できます。
各ファイルにモジュールとしてアクセスできるようにするために、今のところテンプレートをコメントアウトしました。エラーなしでモジュールをロードしています。開発ツールで templateCached バージョンを見つけることができます。
テンプレート フォルダーは、作成したベースパスの外にあります。
プリプロセッサオブジェクト内で参照しています
ここでも、すべてのテンプレートが js ファイルになり、キャッシュされます。
私はpackage.json の中にファイルを保存しました
プラグインで自分のインストールを参照しました。
すべてのファイルをロードしました
Karma の開始時にテストが実行されています
ただし、私のディレクティブは単なる空の文字列です
戻り値 ""
私は吟遊詩人の注入を設定しました
これが私のbeforeEachの内部です
空の文字列が返される理由がわかりません。私はhtmlファイルを作成していますが、その中には何もありません。
templatesCached ファイルを開発ツールのフォルダーに表示する必要があるかどうか疑問に思うことはありますか? また、 karma.conf.js内の files 配列内でファイルを参照する必要があるかどうか。
現在、html ファイルを参照していますか? 私はjsファイルを試しましたが、それは何もしなかったようです