2017-03-23 3 views
0

以下の構造が与えられている。カルマを走らせるときにテンプレートのパスが壊れた

root 
---app 
-----components 

ディレクティブテンプレートのすべてが、 'コンポーネント/ somemodule /一部-template.html'

を使用して私のノードサーバは、一般的にexpress.staticを使用して/アプリからアプリを実行します。すべてうまく動作します。

問題:イサキを使用してROOTからカルマユニットテストを実行し、ディレクティブを配置しようとしている。.. 404が見つかりません:「コンポーネント/ somemodule /一部-template.html」明らかに

参照がなければなりませんので、 :'app/components/somemodule/some-template.html'

私のディレクティブテンプレートでこれを変更することはできません。 Karmaに適切なパスを見つけたり、Karmaをアプリレベルで実行させてパスを解決できるようにする方法はありますか?

答えて

0

私が見つけた最も良い解決策は、カルマが実行しているブラウザにJSとしてロードされたテンプレートを用意することでした。それができる多くの方法があります。

ng-html2jsのようなプリプロセッサは、テストのためだけにすべてのテンプレートをjsに変換することで、あなたのためにできることです。また、コード内のパスを変更する必要がないように、いくつかのパス設定オプションが含まれています。

それ以外の場合、ng-templatesのようなツールは、プロダクションコードで使用しますが、パスを調整して相対的なフォルダ構造に束縛されないようにすることもできます。

+0

私はそれを試みましたが、動作していないようです。あなたはどのように提供し、例を挙げることができますか?ディレクティブをドロップすると、テンプレートキャッシュによってディレクティブを参照していないように見えます。物理的に追加されたjs依存関係に基づいて参照しています。 –

+0

何を試しましたか、何がうまくいかないのですか?あなたはあなたが望むように動作していないあなたがしていることに関する具体的な新しい質問を開始することを検討するかもしれません。 –

関連する問題