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
英文地址,請注明出處:http://en.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;免費社…