Ethereum-Wallet-Dapp

資源文件未以 ipfs 名稱發布

  • January 28, 2019

我製作了用於與智能合約互動的範例 dapp 應用程序,當我將其發佈到 ipfs 時,我開發了一個基本 ui,就像我看到教程和 ipfs 文件一樣,我只能獲得 index.html 文件,支持腳本和 css 文件正在拋出錯誤文件未找到。任何人都可以幫助我解決這個問題。

很可能您以錯誤的方式連結到資源。確保您使用相對URL 來引用您的資源,所以不要做<script src="/my-script.js"></script>(絕對連結),而是做<script src="./my-script.js"></script>(相對連結)。

這是因為 IPFS 網站可以在許多情況下載入。連結到./my-script.js將始終正常工作,而絕對可以在某些但不是全部工作。

一些例子:

開發上下文,您載入http://localhost:3000/my-script.js(絕對)工作正常,因為您的網站根目錄是localhost:3000.

您載入的網關上下文http://ipfs.io/ipfs/$yourHash現在/my-script.js無法正常工作,因為它會嘗試從載入http://ipfs.io/my-script.js而不是載入http://ipfs.io/ipfs/$yourHash/my-script.js。相對連結解決了這個問題。

您載入的 Dnslink 上下文將http://example.com再次/my-script.js正常工作,因為您的網站根目錄是example.com.

因此,請驗證您的資源連結實際上是相對的。如果它們已經存在,請發布您的程式碼,以便我們進一步調查。

引用自:https://ethereum.stackexchange.com/questions/66232