【问题标题】:I cannot deploy static site to Netlify我无法将静态站点部署到 Netlify
【发布时间】:2020-07-19 15:22:11
【问题描述】:

我正在尝试在 Netlify 上部署一些 ui 组件。但是,它无法识别子文件夹中的 index.html 文件。因此,我部署的站点上没有显示任何内容。此外,所有 3 个索引文件都有相互链接。这是我的文件结构

├── ui-components
    ├── blog-cards
    │    └── index.html
    ├── login
    │    └── index.html
    ├── ads-manager
    │    └── index.html

我是否必须删除我的子文件夹并拿出我的索引文件才能将其部署在 Netlify 上,或者有什么办法可以解决吗?

编辑:

我通过这样做取得了一些进展,而不是按照建议将_redirects 文件放在我的应用程序的根目录中

/        /blog-cards/index.html    200
/login   /login/index.html         200
/ads-manager     /ads-manager/index.html   200

它在 blog-cards 文件夹中找到了我的 index.html,但是它现在没有加载我的 css 文件。完整的文件夹结构

├── ui-components
    ├── blog-cards
    │    └── index.html
    │    └── style.css
    │    └── images

这是netlify site的链接

【问题讨论】:

  • 你有一个主要的 index.html 吗?如果您这样做但仍然无法正常工作,请尝试用另一个名称重命名子文件夹中的所有 index.html,但名称不同。
  • 我在 ui-components 文件夹中唯一拥有的是上面列出的 3 个子文件夹。在子文件夹里面,我也试过把文件名改成index.html、login.html和ads.html,还是不行
  • 我认为你应该有一个主索引文件,尝试做一个测试,首先在ui组件中添加一个index.html文件,然后在每个子html中放入3个带有href的<a>标签文件并尝试看看它是否有效。
  • 我的意思是那肯定行得通。我一直在寻找如何使其与子文件夹一起使用。我不想破坏我的子文件夹,因为这是 3 个不同的项目,我想让它们在子文件夹中井井有条。如果这有意义的话。
  • 我认为这对于 netlify 或其他免费托管网站是不可能的。

标签: html deployment netlify


【解决方案1】:

您没有主要的index.html 文件,这就是您部署的站点上没有显示任何内容的原因。你应该在那里添加一些东西,即使只是一个空白页或一个带有指向其他项目的链接的占位符。

您可能不必这样做,只需浏览到 <siteurl>/ui-components/blog-cards 即可。


在进一步的 cmets 后更新。

如果您希望网站在登陆时自动转到子文件夹,那么您可以使用Redirects. 例如,将以下内容放在应用程序根目录中名为 _redirects 的文件中,我认为您需要这样做:

/        /ui-components/blog-cards    200
/login   /ui-components/login         200
/ads     /ui-components/ads-manager   200

(200 状态码意味着它将是一个底层重定向,这使得 URL 像你所说的那样保持干净。)


更新

是的,所以转发导致 .css 文件无法加载。

<link rel="stylesheet" href="style.css"> 会查看当前 URL 并在其中添加 style.css,这显然不是您想要的。

您可以更改为使用 302 转发它,这意味着会显示新的(不是很好的)URL,但随后 css 路径会正确解析。

或者,您可以添加第二个样式表链接来查找./blog-cards/style.css

或者如果 css 足够小,你可以内联它,让一切变得更简单。

【讨论】:

  • 感谢您的回答,但我最终从 blog-cards 文件夹中取出 index.html 文件并完全摆脱了该文件夹。从那里我将它链接到我的其他 2 个文件夹。但我还没有尝试过<siteurl>/ui-components/blog-cards 技巧。看起来也可以,也许我下次会尝试。
  • 那么您之前浏览到了哪里?只是项目的根 URL 并希望被转发到子文件夹之一?
  • 好吧,我没想到它会直接转到其中一个子文件夹并找到 index.html,这就是为什么我问这个问题是否可行。我理想的解决方案是以某种方式告诉 netlify 我的起始 index.html 在哪里,这样我就可以保留我的子文件夹,并且在没有 /ui-components/blog-cards 的情况下保持网站 url 干净。但我想没有办法手动设置起始文件。
  • 啊,好吧,是的,这是可能的!使用重定向,我已经扩展了我的答案
  • 给我一个回购链接,我去看看?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-20
  • 2018-11-17
  • 1970-01-01
  • 2020-06-20
  • 2020-05-24
  • 1970-01-01
相关资源
最近更新 更多