在 Github Pages 上使用 React 获取自定义域

IT技术 reactjs npm github-pages cname
2021-05-19 22:13:11

我已经遵循了将自定义域定向到 Github 端和 DNS 端的 Github 项目页面的所有指南。该项目的 Github Pages 托管在自定义域之前工作,但现在要么没有任何作用,要么只是正常的 Github Pages 工作,而不是自定义域。

我试过移动一切,重命名CNAME文件,一切都有时间传播,它应该可以工作,但我不知道该怎么做。我试过把CNAME文件放在master分支和gh-pages分支中。我试过CNAME在文件中手动设置或在 repo 设置中自动设置。这一切都无济于事。

我可以说它应该可以正常工作,因为当我访问自定义域时,它肯定指向 Github,因为它返回 404,但没有找到页面。

1个回答

我花了几个小时来解决这个问题,并认为我会发布解决方案,以防其他人也遇到它。

简单的问题是,当react-scripts build运行时,它会忽略CNAME根目录中文件并完全覆盖build/目录中的任何内容,从而完全覆盖gh-pages分支,因此添加 CNAME 将暂时解决问题:直到下次推送。

解决方案非常简单:移动CNAME//public react-scripts会将其识别为要提供的静态文件,就像网站图标一样,并将始终将其复制到存储gh-pages库并将其包含在构建中,而无需每次部署时都手动执行此操作。