2016-12-13 5 views
0

テンプレートキャッシングを利用しているAngularアプリケーション(Gulpビルドプロセスの一部)があります。アプリケーションは正常に実行され、キャッシュされたビューはロードされます... PhantomJS(またはGoogleのPagespeedまたはFetch as Googleの問題でレンダリングされた場合を除く)。 「PhantomJSを使ってレンダリングしたときに、角度ビューがテンプレートから読み込まれない

Error: [$compile:tpload] Failed to load template: /static/app/public/views/about.html (HTTP status: undefined undefined) 

私は往復が発生していないという事実に関係している未定義のHTTPステータスを想定しています...しかし、私は次のことができます。

は、多くの研究の後、私は、ルーティングは、このエラーを投げていることがわかりましたなぜこれが失敗するか、特に上記のツールを使用する場合にのみ、どのような情報が得られるかを調べる必要があります。

は、要約すると:

  • アプリケーションはクローム、IE、Firefoxの上で正常に動作、オペラ
  • をキャッシュされたテンプレートの.jsファイルは、パスに障害が発生した
  • がロード解決するために必要なパスとHTMLコンテンツが含まれていますPhantomJS、Speedtestレンダラー、Googleの「Fetch as Google」ツール
  • このエラーがスローされた理由についてのAngularのドキュメントを見直しましたが、テンプレートがファイルテンプレートとして取り込まれています。 jsがロードされた)

編集

私はデバッグのための次の行を追加:

var about = $templateCache.get('/static/app/public/views/about.html'); 
 
    console.log('about', about);

を...と私もして、コンソールログに適切な出力を参照してくださいPhantomJS。

+0

まだ問題があるのですか、それとも解決しましたか? –

+0

まだ問題...あなたは数分以内に反応しました:) – user975060

答えて

1

それは私が別のエラーメッセージを無視したことが判明:

Error: undefined is not a constructor (evaluating 'newUrl.startsWith(target)') 

を... PhantomJSのES5によるハプニング。 2つの問題は関連しているとは思えませんでしたが、String.prototype.startsWithにpolyfillを提供した後、問題は解決しました。

関連する問題