ReactJS应用程序使用自定义域发布到Github页面

时间:2018-03-30 08:34:35

标签: reactjs github github-pages

我有一个使用create-react-app创建的reactjs应用程序。我已经安装了gh-pages并使用以下命令将其成功部署到github页面(项目页面):

gh-pages -d build

但是,当我将自定义域添加到我的github项目存储库时,我的应用程序无法加载js和css文件。我的浏览器正在寻找以下文件:

http://my.custom.domain/<repo name>/static/css/main.caaf9ea4.css
http://my.custom.domain/<repo name>/static/js/main.76fabd7f.js

加载这些文件的正确链接应为:

http://my.custom.domain/static/css/main.caaf9ea4.css
http://my.custom.domain/static/js/main.76fabd7f.js

在GitHub回购页面中,我已将自定义域设置为“my.custom.domain”&#39; (没有www的根域)。源是gh-pages分支。

我的DNS设置为:

  • 记录,@,价值:192.30.252.153
  • 记录,@,价值:192.30.252.154
  • CNAME记录,www,值:username.github.io

如何更改设置以便不将repo名称添加到域中?

2 个答案:

答案 0 :(得分:2)

确保您的package.json具有属性主页。 e.g。

  "homepage": "https://<git-USER>.github.io/",

这就是我刚才用我的cra projet做的事情。如果您想查看我的项目,请查看develop branch。但是,我还没有使用gh-pages -d build。我自己构建了项目并创建了分支gh-pages并将构建的内容放入其中。它应该是相同的。

答案 1 :(得分:0)

将复制的CNAME脚本添加到我的package.json脚本中对我来说是可行的,因为它没有自动发布到React Create App构建目录中的gh-pages分支中。

"copy": "cp ./CNAME ./build/CNAME",
"predeploy": "yarn build && yarn copy",