最近更新
我最近在使用另外一种方法,特此更新一下
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上,然后通过setting里GitHub 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
然后把链接贴到地址栏中,大功告成~!