使用 Gatsby 构建的 GitHub 页面不会在根目录加载 index.html 的原因是 Gatsby 默认将生成的静态文件输出到 public
目录下,而 GitHub Pages 默认只会加载根目录下的 index.html 文件。
要解决这个问题,可以进行以下步骤:
.nojekyll
的空文件,该文件告诉 GitHub Pages 不要使用 Jekyll 进行处理。.gitignore
的文件,将 public
目录添加到其中,以确保不会将生成的静态文件提交到版本控制系统中。.github/workflows
的目录,并在其中创建一个名为 deploy.yml
的文件,用于配置 GitHub Actions 的自动部署流程。以下是一个示例的 deploy.yml
文件内容:name: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build Gatsby site
run: npm run build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
这样,当你将代码推送到 GitHub 仓库的 main 分支时,GitHub Actions 将自动构建 Gatsby 网站并将生成的静态文件发布到 GitHub Pages 上,使你的网站能够在根目录加载 index.html 文件。
推荐的腾讯云相关产品:腾讯云静态网站托管(云开发静态网站服务),产品介绍链接地址:https://cloud.tencent.com/product/sps
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云