2017-02-02 39 views
0

找到404我有以下的文件結構HTML相對於圖像的路徑。不能在Github上頁

demo 
|_ assets 
.....|_ image.png 
.....|_ anotherimage.png 
|_ dist 
.....|_ my-component.html 
.....|_ my-component.js 
|_ index.html 

my-component.html<img src="../assets/image.png"/>
my-component.js生成<img src="../assets/anotherimage.png">運行時的HTML標記。

這在我的本地http服務器中正常工作。
當我把東西推到Github頁面時,就會出現這個問題。

  • my-component.html文件中提到的圖像正確顯示。它將圖像網址識別爲http://myorg.github.io/myrepo/demo/assets/image.png
  • 對於my-component.js文件中提及的圖像,找不到404。它識別圖像的URL作爲http://myorg.github.io/myrepo/assets/anotherimage.png

注意的URL,瀏覽器同時識別的情況。第二種情況沒有demo/

它就像my-component.js被放置在demo目錄而不是dist。但是,這怎麼可能發生。這裏有什麼問題?以及我如何解決它?

被修改
my-component.html和所討論my-component.js實際上是聚合物組分分成2個文件一個用於模板,而另一個用於邏輯代碼。 然後index.html通過其代碼頂部的<link rel="import" href="dist/my-component.html">導入該組件。沒有關於聚合物或我以前測試過的任何問題,我不認爲這個問題涉及聚合物。

回答

1

在WebComponents中,路徑與HTML頁面相關,在Polymer中,它們是相對於組件本身的。請參閱https://stackoverflow.com/a/33603356/227299

A possible solution是使用this.resolveUrl('../assets/image.png')(相對於JS文件)創建您的路徑。

+0

JavaScript文件將僅包含在該HTML文件中,並且只包含一個地方。我想去你的建議選項1,但因爲它在其他人上測試不在github頁面上。你的意思是修復只針對github頁面嗎? – haxpor

+0

這很奇怪,因爲這兩個文件都在同一個目錄中。嘿胡安,我用更多的信息編輯了這個問題。我不確定它可以提供更多的提示。請看我編輯的問題。 – haxpor

+0

非常感謝你。這有很大幫助!請繼續關閉我的問題,因爲答案已經存在。 – haxpor