IPFS静态网站部署

时间:2019-12-10 20:13:38

标签: javascript vue.js nuxt.js svelte ipfs

我正在尝试在NuxtJSSapperJS生成的IPFS上部署静态网站。

在两种情况下,我都遇到相同的错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

因为HTML中的链接看起来像这样:

<link href="client/main.850609924.css" rel="stylesheet">

当我访问任何index.html时,所有静态信息都以http://127.0.0.1:8080/而不是http://127.0.0.1:8080/ipfs/<hash>提示

我尝试在生成静态网站之前更改设置,但这不会成功。

当我在NeltifyAWS上部署相同的静态站点时,一切都会按预期进行。

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

我认为问题在于许多静态网站生成器都假定网站根目录位于/

从IPFS path gateway加载网站时,根目录位于/ipfs/而不是/,这就是为什么生成的HTML / JS无法找到文件的原因。

有两种处理方法:

  • 配置您的静态网站生成器以生成带有相对路径的HTML(NuxtJS的问题)
    • 这是首选的方式:如果您的框架不支持相对路径,请提供上游修复程序,以便其他人都可以修复它
  • 从IPFS subdomain gateway(原始根位于/)加载网站

答案 1 :(得分:0)

您可以使用terminal.co几次单击尝试将静态站点部署到IPFS上 它将构建目录并将其上载到ipfs,返回一个哈希,然后将其映射到带有带有哈希的txt记录的子域。此后添加的任何域都指向子域,并且txt记录会为以后的所有内部版本更新