首页 > 其他分享 >博客搭建 — GitHub Pages 部署

博客搭建 — GitHub Pages 部署

时间:2025-01-17 09:57:12浏览次数:3  
标签:git 仓库 html 404 GitHub Pages 搭建

关于 GitHub Pages

GitHub Pages 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,通过构建过程运行文件,然后发布网站。

本文最终效果是搭建出一个域名为 https://<user>.github.io 的网站

创建 GitHub Pages 站点仓库

  1. 输入仓库名称,必须命名为 <user>.github.io<user>是你的用户名
  2. 选择仓库可见性:Public(公开)
  3. 选择 “使用 README 初始化此存储库”
  4. 创建仓库
  5. 将需要部署的静态页面代码提交到这个仓库

配置 GitHub Pages

  1. 在仓库下找到设置 Settings,在边栏部分找到 Pages
  2. 选择仓库分支;选择 index.html 文件所在路径,一般是 root
  3. 点击保存,过几分钟刷新下页面 Github Pages
  4. 点击 Visit site 访问

Vue 项目的打包部署流程

其实原理是一样的,在 Vue 项目下运行 npm run build 将打包后的 dist 文件发布到 GitHub Pages 站点仓库。
但是过程比较繁琐,可以使用脚本来实现自动化部署

自动发布脚本中,仓库 origin 选择 SSH 的地址,例如 git@github.com:user/repo.git

不过在这之前需要先在 GitHub 上添加 ssh 公钥

1、新建一个 deploy.sh 文件

#!/usr/bin/env sh

# 忽略错误
set -e

# 构建
npm run build

# 进入待发布的目录
cd dist

git init
git add -A
git commit -m 'ci: deploy'

# 部署到 https://<user>.github.io
git push -f git@github.com:hai-zou/hai-zou.github.io.git master

cd -

2、在 package.json 中添加一条命令行

{
  ...
  "scripts": {
    "deploy": "bash scripts/deploy.sh"
  },
  ...
}

3、最后运行 npm run deploy 就能够把代码提交到 Github Pages 仓库

注意

如果你的项目使用的是 history 模式路由,在生产环境下,访问非根路径的页面就会得到一个 404 错误。
这是因为浏览器在访问 https://example.com/user 获取不到 html 资源。
但是使用 hash 模式就没有这个问题,https://example.com/#/user 哈希字符(#)后面那部分 url 不会被发送到服务器,所以可以直接请求到根路径上的index.html文件。

可以查看官方给出的 解决办法

GitHub Pages 上如何解决这个问题呢?

GitHub Pages 站点在访问错误路径的时候会跳转到 404 页面,利用这个机制,我们可以在根目录下创建一个跟 index.html 一样的 404.html 文件,
这样在访问错误路径的时候也能请求到根路由的资源,然后通过框架内部的路由机制进行跳转

修改一下发布脚本,在进入发布目录之后添加一行命令,将 index.html 的内容 copy 到 404.html

# 进入待发布的目录
cd dist

# 这里是处理vue使用history模式路由,导致页面出现404问题
cp index.html 404.html

标签:git,仓库,html,404,GitHub,Pages,搭建
From: https://blog.csdn.net/zouhai1/article/details/145199386

相关文章

  • 30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <1> 5分钟快速创建一个springboot
    快速导航<1>5分钟快速创建一个springbootweb项目<2>5分钟集成好最新版本的开源swaggerui,并使用ui操作调用接口<3>5分钟集成好druid并使用druid自带监控工具监控sql请求<4>5分钟集成好mybatisplus并使用mybatisplusgenerator自动生成代码<5>5分钟集成好caffeine......
  • SpringCloudAlibaba:从0搭建一套快速开发框架-03 Nacos下载及使用
    序言:上篇安装了Docker并运行MySql5.7,本篇主要介绍Nacos的下载以及使用Nacos简介Nacos(DynamicNAmingandCOnfigurationService)是阿里巴巴开源的一款集服务发现、配置管理和动态DNS服务于一体的解决方案,广泛用于微服务架构。Nacos支持分布式系统中的动态配置和服务管......
  • webpack5 从零搭建 vue3 项目
    目前vue3官网推荐的工具链已经是vite了,就算是要使用webpack甚至是webpack5,也可以直接使用vue-cli。然而之所以写这个,可以当是webpack5的一个学习文章。同时也是因为之前有个项目是在vue3刚出来的时候使用vue-cli(那是官网还是推荐使用webpack,以及但是得版本为webp......
  • 信奥OJ的搭建
    第一步,服务器申请选择一:免费云服务器,免费虚拟主机如:阿贝云阿贝云提供了免费的云服务器和免费的云虚拟主机,可根据自己的实际应用情况选择。首先注册一个账户,然后需要支付0.3元做一个实名认证,如果实名认证成功了大概率会开通成功。如果......
  • 使用jsdelivr加速hexo github pages博客的静态资源
    目录使用介绍LoadanyGitHubrelease,commit,orbranch:Loadexactversion:Useaversionrangeinsteadofanexactversion(onlyworkswithvalidsemverversions):使用hexo将博客部署在githubpages上面,有时候访问速度会比较慢,可以将图片等静态资源,使用jsdelivr进行cd......
  • 使用docsify搭建github pages页面
    目录初始化相关配置index.htmlreadme.md_sidebar.mddocsify可以快速帮你生成文档网站。不同于GitBook、Hexo的地方是它不会生成静态的.html文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个index.html就可以开始编写文档并直接部署在GitHubPages。......
  • GitHub打不开的解决方案
    在国内github官网经常面临打不开或访问极慢的问题,那有什么好办法解决GitHub官网访问不了的问题?今天来教你几招轻松访问github官网。首先我们说下github官网打不开的原因到底是什么。我们会发现,github偶尔可以打开,偶尔打不开,能不能打开似乎全靠运气,其实这都是因为你访问github......
  • 【python入门】2.安装搭建python环境
    1.安装python解析器1.1为什么要装python解析器?python属于高级语言,计算机并不认识我们需要用解析器,将python文件,经过python解析器翻译成,计算机能够识别的机器语言1.2如何安装下载地址:PythonReleasePython3.7.9|Python.org检验安装完成在cmd中输入python,若出......
  • ubuntu下搭建Gitea代码托管平台
    在Ubuntu上部署Gitea是设置本地代码托管平台的简洁和高效选择。以下是详细步骤:步骤1:更新系统sudoaptupdate&&sudoaptupgrade-y步骤2:安装依赖sudoaptinstallgitsqlite3curl-yGitea支持多种数据库,默认使用SQLite。如果需要MySQL或PostgreSQL,可以先安......
  • vscode使用github.211014
    1,vscode打开terminal,生成RSA密钥,并查看蜜月PSD:\\code\\SQL>gitinitReinitializedexistingGitrepositoryinD:/code/SQL/.git/PSD:\\code\\SQL\>gitconfig--globaluser.nameamadeusPSD:\\code\\SQL\>gitconfig--globaluser.emailvegas......