博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
巧用gh-pages分支发布自己的静态项目
阅读量:6502 次
发布时间:2019-06-24

本文共 1677 字,大约阅读时间需要 5 分钟。

大家都知道可以通过github pages 发布自己的静态博客,然后通过 username.github.io 可以访问。例如我的博客可以通过 nqmysb.github.io 访问,不过我的已经绑定域名 ,所以会直接跳转到域名显示。

但是我们通常有很多其他的静态项目需要展示,所以今天我总结一下如何利用gh-pages分支来发布自己的静态项目,然后可以通过域名外网访问。

准备一个github项目

首先准备一个github项目,创建git项目,然后将本地项目上传的git项目的master主干上,此处步骤略过。

我的项目是一个react前端项目,基于create-react-app创建的脚手架的一个文库网站首页,目前项目没有完成,只是搭建了一个架子,写了一个首页布局。
现在我们来把它发布到gh-pages分支,通过外网访问。

项目打包

1.拷贝项目到本地

git  clone --progress -v "git@github.com:nqmysb/shared-library-ui.git"

2.安装依赖包

npm install  或者   yarn install

3.打包项目

npm run build 或者 yarn run build

打包之后,项目根目录下会出现一个build的文件夹,这个是打包之后的静态文件,也就是我们需要发布到gh-pages分支上的东西。

发布项目到gh-pages 分支

1.进入build文件夹下

cd build

2.git初始化

git init

3.创建gh-pages分支

git checkout --orphan gh-pages

4.添加文件到暂存区

git add .

5.添加信息

git commit -m "init project"

6.设置远程仓库地址

git remote add origin git@github.com:nqmysb/shared-library-ui.git

7.推送项目到 gh-pages分支

git push origin gh-pages

此时你的github该项目会多一个gh-pages分支,点击切换分支可以看到刚刚上传的项目文件。此时我们就可以通过 来访问你发布的静态项目了。同样此处我的nqmysb.github.io 绑定了域名,所以访问时会跳转到

两个问题

1.通过create-reat-app创建的项目打包之后,访问项目index.html页面会空白或者报错,无法访问。这里主要是打包的时候css,js引入的路径问题。

create-reat-app官方给的解答是再package.json种添加homepage属性,如下再private后面添加。

"private": true,"homepage": "."

我这里需要发布到 上面去 ,所以我们这里是:

"private": true,  "homepage" : "https://liaocan.top/shared-library-ui",

2.react项目打包部署之后刷新页面报404错误

这里有两种解决方案
第一种:如果你是通过nginx部署静态项目,可以在nignx配置 try_files 如下:

location / {            root   /usr/share/nginx/html;            index  index.html index.htm;            try_files $uri /index.html;        }

第二种将react项目种的路由修改为 HashHistory

import { createBrowserHistory,createHashHistory } from 'history'// export const history = createBrowserHistory()export const history = createHashHistory()

转载地址:http://kityo.baihongyu.com/

你可能感兴趣的文章
golang的goroutine是如何实现的?
查看>>
乐视云基于Kubernetes的PaaS平台建设
查看>>
R 学习笔记《十》 R语言初学者指南--图形工具
查看>>
PHP通过读取DOM抓取信息
查看>>
DICOM医学图像处理:DICOM网络传输
查看>>
nio和传统Io的区别
查看>>
移动端网页布局中需要注意事项以及解决方法总结
查看>>
(原创)Linux下查看系统版本号信息的方法
查看>>
oracle
查看>>
redis使用过程中主机内核层面的一些优化
查看>>
我也要谈谈大型网站架构之系列(2)——纵观历史演变(下)
查看>>
大话设计模式(Golang) 二、策略模式
查看>>
使用PostgreSQL 9.6 架设mediawiki服务器
查看>>
数据库服务器硬件对性能的影响
查看>>
LVM
查看>>
windows+群辉服务器环境下,搭建git版本管理
查看>>
Boolean类型
查看>>
Ubuntu 修改源
查看>>
php 几个比较实用的函数
查看>>
(译)OpenGL ES2.0 – Iphone开发指引
查看>>