【掉坑记录】create-react-app项目部署至GitHub Pages

1,592 阅读2分钟

最近更新

我最近在使用另外一种方法,特此更新一下


1.直接将源码提交到远程库,然后修改package.json

"scripts": {
   ...//这里是默认,不用管
  },
+| "homepage": "https://18888628835.github.io/[github fileName]/",

2.使用 yarn build 构建生产环境

3.build 文件夹生成后

cd build 
git init
...
git branch -M gh-pages
git remote add origin https://github.com/18888628835/[fileName].git
git push -u origin gh-pages

解释: 生成 build 后,我将 build 下的 git 仓库的分支名改成gh-pages,然后这个分支也同样连接到我的 github 的文件夹下.但是 push 给gh-pages分支.

这样有一个好处,就是我的分支里面是生产环境的代码.

当然你也可以全都丢到一个分支下,所以可以这样做

"scripts": {
   ...//这里是默认,不用管
  },
+| "homepage": "https://18888628835.github.io/[github fileName]/build",

build取决于你打包好的文件夹的名字,如果你打包后的文件名不是 build,就换成那个文件名

设置后,上传到 github 上。

github pages 就会按照你的路径去访问你传到远端的 build 文件夹,默认初始路径就是这个。

比如:

当save 好 github pages 后,你通过homepage设置的

https://18888628835.github.io/[github fileName]/build

就可以打开页面啦。

背景

最近在用Hooks重构之前写的原生项目,在使用yarn build之后,按照以往的方式一顿三连把代码放到github上,然后通过settingGitHub Pages,自信满满地打开我的页面,结果,引入眼帘的是这样的。

正在吃包子的我的内心活动用一张图表示

明明在项目上使用yarn start运行非常良好,于是我又使用http-server运行一遍,运行的太!完!美!了!

但是为啥github不能识别我的代码呢?一定是github出了问题?

步骤

经过查找,终于找到了问题原因,现在将我遇到的坑贴出来,希望能帮助到有需要的旁友~

步骤1:修改 package.json

"scripts": {
   ...//这里是默认,不用管
  },
+| "homepage": "./",

只需要加一句"homepage": "./"即可

步骤二:打包

执行yarn build,有细心的朋友可能会发现,build文件夹是出来了,但是没有推给git,那么可以在.gitignore里把/build删除

步骤3:提交远程仓库

github上新建new Repositories

然后在本地三连

git remote add origin git@github.com:xxxxxxxxxx
git branch -M main
git push -u origin main

步骤4:部署到远程分支

git subtree push --prefix=build origin gh-pages

上面的语句意思是使用git subtree将本地git下的build文件推送给远程仓库的gh-pages分支。

它会自动在github的远程仓库创建一个gh-pages分支并把build文件存过去。

步骤5:分支上设置GitHub Pages

GitHub上找到gh-pages分支并通过setting设置GitHub Pages

然后把链接贴到地址栏中,大功告成~!

借鉴文档

github.com/vortesnail/…