https://www.githubstatus.com/incidents/ws2l6203cs7g
next 打包构建静态站点的时候,遇到了当前html访问其他目录资源的时候会出现404问题
主要原因是 jekyll 不会处理以 _ 开头的文件时,需要在 gh-pages 分支根目录下添加文件 .nojekyll 以禁止使用 jekyll 解析。
https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/
在 GitHub 中,Jekyll 文件是用于生成静态网站的工具。Jekyll 是一个基于 Ruby 的静态网站生成器,它可以将 Markdown、HTML 和 Liquid 标记语言转换成静态网页。GitHub Pages 通过 Jekyll 实现了自动化构建和发布站点的功能。
当您在 GitHub 上创建一个新的仓库并启用 GitHub Pages 时,GitHub 将会根据您的仓库中是否包含 Jekyll 文件(如 _config.yml、_layouts、_includes 等)来判断是否需要使用 Jekyll 来生成您的网站。如果您的仓库中包含了 Jekyll 文件,GitHub 就会自动地对这些文件进行处理,并生成一个静态网站。
通过利用 Jekyll 提供的丰富功能,您可以轻松地创建美观且高度可定制的静态网站。同时,Jekyll 还支持诸如分类、标签、页面布局等功能,让您能够更好地组织和管理网站内容。
Jekyll 不会处理以 "_" 开头的文件,是因为它将这些文件视为特殊文件或者说是“隐藏文件”,一般用于存储网站的元数据或配置信息,而不是直接渲染成页面内容。
例如,在 Jekyll 中,"_config.yml" 文件包含网站的配置信息,"_includes" 文件夹中存储了需要在各个网页上重复使用的 HTML 片段,"_layouts" 文件夹包含了网站设计的模板,"data" 文件夹包含了网站所需的数据,等等。这些文件和文件夹的名称以 "" 开头,是为了让它们不被当作普通的页面进行解析和渲染。
通过将这些文件和文件夹命名为以 "_" 开头的形式,可以使 Jekyll 自动地忽略它们,从而避免在生成静态网页时出现多余或错误的内容。同时,这也具有更好的组织和管理网站内容的能力,使得网站开发更加灵活和高效。
解决方法有很多种
一种是创建在根目录创建 _config.yml文件,将需要识别的目录填写进去
include:
- _next
一种是全局移除 在根目录创建 .nojekyll 文件,那么github就会取消此限制,以_下划线开头的都可以被识别到,不过不推荐这种
另外一种是给你打包后的目录rename,