github上部署自己的静态项目

前置知识

1、要在github部署项目要提交打包后的静态文件(html,css,js)到仓库里

2、我们看下github所提供给我们的部署方式有啥,如下所见;

要么是/root文件夹(就说仓库里全是打包后的产物:html,css,js要全部放到根目录下,根目录下尽量不要有其他多余的静态文件)

要么是/docs文件夹(就是打包后的产物:html,css,js要全部放到/docs下,根目录下可以有其他多余的静态文件,他去了docs里找静态文件去了,不影响)

3、如果你在github要部署多个项目,如何解决呢?仓库名来做区分。

        比如部署了两个项目到github,A和B,它两都有相同的打包产物css:demo.css

        github会如何请求呢?

//A项目
https://username.github.io/A/demo.css
//B项目
https://username.github.io/B/demo.css

一 、 单个html要发布,使用前置知识里的/root方式

根html要用index.html命名才可以

如果有额外的css文件要在引入到html里的路径里加上仓库名称

比如仓库名称是githubhtml


<link rel="preload stylesheet" href="/githubhtml/vp-icons.css" as="style">

经过多次试验,代码改变后会自动发布新包,但是由于网络和缓存的问题,需要等待和强制刷新才可以看到最新的结果

二、vitepress项目

npm init -y 
npm i -D vitepress 
npx vitepress init

根据前置知识2和3对vitepress的打包产物进行改造,这里使用的是前置知识里的/docs方式。在.vitepress\config.mts里添加

export default defineConfig({ base:"/github仓库名称/", outDir:"docs", 
})

1、解释下:base;如果你的仓库名称是ssg,修改base为"/ssg/" 打包后的html里的各种资源路径会自动加上"/ssg/"前缀 如:

<link rel="stylesheet" href="/ssg/style.css">
部署后的请求则是
https://用户名.github.com/ssg/style.css如果为"/" 则,
<link rel="stylesheet" href="/style.css">
部署后的请求css路径就是
https://用户名.github.com/style.css //报错

2、解释下:outDir;outDir:"docs"的作用是打包后的文件放在根目录docs中 如果是outDir:"dist/demo" 则打包后的文件放在dist/demo中

然后执行npm run docs:build 会在根目录下生成docs目录,里面就是打包后的文件,这个文件是一定要提交到仓库的

三、vite/webpack项目,和vitepress部署一样的(使用/docs),再加一种方式(/root)

1、如果用/docs部署,改造打包后的产物,在vite.config.ts文件中添加,打包,提交代码,使用/docs方式发布

//vite
export default defineConfig({base:"/github仓库名/",build: {outDir: "docs",},
})

webpack

//webpack.config.js
const path = require('path');module.exports = {// 等价于Vite的base选项output: {publicPath: '/github仓库名/',path: path.resolve(__dirname, 'docs'), // 等价于Vite的outDir},
};

vuecli脚手架

vue.config.js
module.exports = {// 等价于Vite的base选项publicPath: '/github仓库名/',// 等价于Vite的outDir选项outputDir: 'docs',
};

2、用/root部署

改造打包后的产物,注意这里的outDir是build

//vite
export default defineConfig({base:"/github仓库名/",build: {outDir: "build",},
})

安装插件

npm i gh-pages -D

添加命令

"scripts": {"deploy": "gh-pages -d build"},

解释下这个deploy命令的作用是啥

1.把build文件夹下的文件全部复制到gh-pages分支下

2.把gh-pages分支下的文件推送到github仓库

然后依次执行npm run build,npm run deploy

执行后会有如下代码,说明发布成功了

$ npm run deploy> vite-web@0.0.0 deploy
> gh-pages -d buildPublished

查看仓库会多出一个分支gh-pages,里面全是干净的打包的后(html,css,js)文件

然后就可以使用root发布了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90144.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90144.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

能源管理综合平台——分布式能源项目一站式监控

综合性的能源企业管理面临着项目多、分布散、信息孤岛等问题&#xff0c;分布式的多项目能源在线监控管理平台是一种集成了多个能源项目的数据采集、监控、分析和管理的系统。平台集成GIS能力&#xff0c;能够展示项目的整体分布态势&#xff0c;对不同地点、不同类型的能源项目…

修改阿里云vps为自定义用户登录

win系统上找到控制面板-->用户账户-->更改账户类型点击更改账户类型&#xff0c;此时我们看到vps的默认管理员账户Administrator。为了防止vps被别人使用默认账户Administrator攻击&#xff0c;我们添加一个用户账户&#xff0c;点击添加用户账户。 用户名建议奇葩点&…

Linux: perf: debug问题一例,cpu使用率上升大约2%;多线程如何细化cpu及perf数据分析

文章目录 前提面临的问题内核级别函数的差别继续debug总结根据pid前提 一个进程安置在一个CPU上,新功能上线之后,固定量的业务打起来,占用的CPU是42%。之前没有新功能的情况下,CPU占用是40%。差了大约2%。而且这个进程里的线程数非常多,有50多个线程。从差距看变化不大,…

计算阶梯电费

实现一个 Python 程序&#xff0c;根据使用的电量&#xff08;从控制台中让用户输入&#xff09;计算需要交的电费&#xff0c;电量分为两个阶梯&#xff0c;小于 200 度和大于 200 度&#xff0c;如果电量小于等于 200 度&#xff0c;电价就是 0.5 元/度&#xff0c;如果电量大…

替代MT6701,3D 霍尔磁性角度传感器芯片

KTH5502 是一款基于垂直霍尔技术的高精度绝对角度传感器芯片&#xff0c;支持全角度&#xff08;0–360&#xff09;测量。 芯片内部集成 X、Y 轴的垂直霍尔元件和 Z 轴的水平霍尔元件&#xff0c;能够同时感知磁场在 X、Y、Z 三个 方向的变化。得益于垂直霍尔技术优异的正交匹…

华为 Mate 80 影像配置揭秘:硬软双升

7 月 7 日&#xff0c;知名数码博主爆料了华为 Mate 80 系列的影像配置&#xff0c;引发广泛关注。从曝光信息来看&#xff0c;Mate 80 系列在影像方面延续华为的技术探索&#xff0c;通过硬件升级与算法优化&#xff0c;力图为用户带来更出色的拍摄体验。​ 爆料显示&#xff…

Android studio升级AGP需要注意哪些

deep seek回答&#xff1a; 深度思考完成 用时26秒 嗯&#xff0c;用户询问的是在Android Studio中升级AGP需要注意哪些事项。这个问题很实用&#xff0c;因为AGP升级确实是个容易踩坑的过程。让我看看搜索结果里有什么关键信息。 首先注意到搜索结果里有几个高可信度的资料专…

MapReduce数据处理过程2万字保姆级教程

目录 1. MapReduce 的核心思想:分而治之的艺术 2. Hadoop MapReduce 的架构:从宏观到微观 3. WordCount 实例:从代码到执行的完整旅程 4. 源码剖析:Job.submit 的魔法 5. Map 任务的执行:从分片到键值对 6. Shuffle 阶段:MapReduce 的幕后英雄 7. Reduce 任务的执行…

Rust单例模式:OnceLock的使用指南

想象一下你在构建一个需要全局数据库连接的Rust应用。传统语言里&#xff0c;单例模式常常伴随着锁的沉重和初始化竞态的焦虑。但在Rust的世界里&#xff0c;OnceLock就像个轻巧的守门人&#xff0c;只允许一次安全的通行。 简洁的OnceLock实现 看看这段代码如何优雅地解决单…

JavaScript性能优化实战:表格控件高效开发指南

引言 在现代Web应用开发中&#xff0c;电子表格功能已成为数据分析、报表展示等场景的核心需求。SpreadJS作为一款高性能的纯前端电子表格控件&#xff0c;能够完美兼容Excel文件格式&#xff0c;支持百万级数据量和复杂公式计算。然而随着数据规模的增长和业务逻辑的复杂化&a…

RWA(现实世界资产)代币化系统构建指南:合规、跨境与机构级解决方案

——金融科技公司机构市场拓展战略报告前言&#xff1a;RWA代币化的机构化浪潮与市场机遇 截至2025年6月&#xff0c;全球RWA&#xff08;Real World Assets&#xff09;链上规模突破240亿美元&#xff0c;3年增长超380%&#xff0c;成为仅次于稳定币的增速第二赛道。贝莱德、摩…

QML Label组件

QML中的Label组件是构建用户界面时最常用的文本显示控件之一&#xff0c;它继承自Text元素但提供了更丰富的UI特性和主题集成支持。本文将全面介绍Label的核心功能、属性配置、使用技巧以及与Text组件的区别&#xff0c;帮助开发者高效构建美观的文本界面。 Label组件基础 La…

使用 GDB 调试 Redis 服务进程指南

1. 准备工作 安装 GDB 在大多数 Linux 发行版上&#xff0c;执行&#xff1a; sudo apt-get update sudo apt-get install gdb确保有足够磁盘空间 Core dump 文件可能较大&#xff0c;请提前检查磁盘剩余空间&#xff1a; df -h .可选&#xff1a;使用 tmux 或 screen 为避免 S…

深度学习-环境准备

安装python&#xff0c;miniconda(最后步骤关于python环境变量部分全部勾选)&#xff0c;pycharm 关于离线安装numpy和matplotlib&#xff08;我的环境连不上网&#xff09; 我们先去 PyPI The Python Package Index 下载离线包 在搜索框搜索你的包名称&#xff0c;这里是 m…

记录在Windows系统用Python 3.12环境实现Nuitka过程

内容只提供Windows 10 与 Windows 11 下&#xff0c;搭建 Python 3.12 环境&#xff0c;并使用 Nuitka 将脚本打包为可执行文件的详细流程。全文分为以下几部分&#xff1a; 准备工作与系统要求 安装 Python 3.12 配置环境变量与 pip 创建虚拟环境&#xff08;推荐&#xff…

深入解析C#接口声明:核心规则与最佳实践

接口声明的核心约束 禁止包含的成员类型 ❌ 数据成员&#xff08;字段、常量&#xff09;❌ 静态成员&#xff08;静态方法/属性&#xff09; 理由&#xff1a;接口仅定义契约&#xff0c;不涉及实现或状态存储。 允许的成员类型&#xff08;仅非静态函数成员&#xff09; ✅ 方…

Javaweb - 10.6 请求转发和响应重定向

目录 概述 请求转发 逻辑图 测试代码 总结 响应重定向 逻辑图 测试代码 总结 完&#xff01; 概述 什么是请求转发和响应重定向&#xff1f; 请求转发和响应重定向&#xff0c;是 web 应用中&#xff0c;间接访问项目资源的两种手段&#xff0c;也是 Servlet 控制页…

severb

题目一 解决方法&#xff1a; 题目二&#xff1a; 解决方法&#xff1a; 题目三&#xff1a; xfs&#xff1a; ext&#xff1a; 题目四&#xff1a; 解决方法&#xff1a; fdisk中命令&#xff1a;n&#xff08;新建&#xff09; 主分区 、id、起始块都为默认、结束块为756M t…

Hbase2.6.2集群部署(最新版)

配套版本安装&#xff1a; Hadoop 3.4.1 Zookeeper3.9.3 Hbase2.6.2 前置安装 Linux环境下部署Zookeeper3.9.3(最新版)集群部署-CSDN博客 Linux环境下Hadoop3.4.1(最新版本)集群部署-CSDN博客 一、文件解压 cd /usr/local/soft/ tar -zxvf hbase-2.6.2-bin.tar.gz 二、修改启…

IDEA-安装IDEA开发工具

目录 一.从官网获取安装包 二.进行安装 三.首次运行IDEA 四.创建Java项目&#xff0c;检测是否运行成功 一.从官网获取安装包 IDEA官网https://www.jetbrains.com/idea/ IDEA是分为免费的社区版和付费的最终版的&#xff0c;这里强烈建议使用付费的最终版&#xff0c;免费社…