2017-10-16 7 views
0

ポリマーサーブを使用してデモをローカルで実行しているとき、jsファイルへのパスが悪いというエラーが発生します。このjsファイルはインポートされたmy-imported要素で使用されます。ローカルデモとプロダクションの両方のポリマー要素にローカルjsファイルをインポートする方法

私はここでそれを修正した場合、私はどのように私は両方のパスの作業を行うことができますアプリに

を展開するとき、私は生産の悪いパスのエラーを取得しますか?これはイメージファイルの問題でもあります。プロジェクトのサーバー上で動作何

workerFile: "../bower_components/my-imported-element/js/Broadway/Decoder.js", 

workerFile: "bower_components/my-imported-element/js/Broadway/Decoder.js", 

私はそれを理解するように、「ポリマーはサーブ実行している私は私の要素をインポートデモを実行している場合は、ローカルにどのような作品

"デモに行くと、"コンポーネント/ my要素 "のように構成されたパスから開きます:

http://127.0.0.1:8081/components/my-element/demo/ 

ssは私が必要とするパスが

http://127.0.0.1:8081/components/my-element/bower_components/my_imported_element/js/Broadway/Decoder.js 

私はちょうど「デモ」のためのURLをチェックし、条件付きのパスに「../」を追加するコードでハック行を作成する必要はありますでしょうか?それとももっと良い方法がありますか?

+0

私は別のオプションを考えた - index.htmlを<私の要素のパスのようなタグで修正パスに入れて/ srcのパスに要素のプロパティを作り、デフォルト値を指定して、デモを持ちます= "../ bower ..."> –

答えて

0

解決策は、resolveUrlというポリマーメソッドを使用することです。これは、この要素のDOMモジュールを含むドキュメントの元の位置から特定のURLを書き換えます。このメソッドは加硫の前後に同じURLを返します。

これまでのところ、個々の要素のデモページでこの行を実行している場合でも、他の場所から要素をインポートしている場合でも、パスは完全に機能します。

workerFile: this.resolveUrl("js/Broadway/Decoder.js") 
関連する問題