让自定义域在 Github 页面上与 React 一起运行

Getting a custom domain to behave with React on Github Pages

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

我试过移动所有内容,重命名 CNAME 文件,所有内容都有时间传播,应该 工作,但我不知所措做什么。我试过将 CNAME 文件同时放在 master 分支和 gh-pages 分支中。我已经尝试在文件中手动设置 CNAME 或在回购设置中自动设置。这一切都无济于事。

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

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

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

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