在項目根目錄下添加
.spa
文件,內容為空,主要是為了用于自動切換 Nginx 的 404 配置,詳情。修改
vue.config.js
配置中的publicPath
配置:
const BASE_URL = process.env.NODE_ENV === "production" ? "/yourProjName/" : "/";
module.exports = {
publicPath: BASE_URL,
}
解釋:當變量 process.env.NODE_ENV
為生產環境時,將 BASE_URL
設置為項目名稱,這是因為使用 gitee pages 部署的應用,默認根路徑為 http://xxx.gitee.io/
,如果不修改 publicPath
,則你的應用中的資源請求都將會從根路徑去找,結果就是出現 404,找不到你的資源,因為你的資源都存放在 http://xxx.gitee.io/
下面的項目目錄中,比如你在 gitee
上的項目名稱為 myblog
,那么上面代碼中的 "/yourProjName/"
就應為 "/myblog/"
,如下:
const BASE_URL = process.env.NODE_ENV === "production" ? "/myblog/" : "/";
將項目中使用了
/
開頭的絕對路徑寫法去引用 public 靜態資源的URI
改掉。如果是寫在 Html 部分<template>...</template>
里面的,則可以直接將打頭的/
去掉,如<img src="/img/test.jpg" />
改為<img src="img/test.jpg" />
。如果寫在 Css 部分<style></style>
里面的,如background: url("/img/test.jpg")
,那你還是把 public 里面對應的資源挪到 asstes 下面吧……因為我也沒找到其他解決辦法 ε=(′ο`*)))唉關閉 vue-router 的
history
模式,如果你使用了vue-router
并且啟用了history
模式,打開對應的配置文件,關閉它!因為如果你使用了history
模式,燃鵝,你只是一個前端靜態應用,部署在 gitee pages 服務上之后,沒有后端的支持,當你打開某個經過路由的組件之后,再刷新頁面,或者將當前 URI 用新瀏覽器窗口打開,┗|`O′|┛ 嗷~~ 404 找不到這個頁面了?。。]有后端的支持,gitee pages 會將你的 URI 當做真實的資源地址去請求資源,但實際這個地址只是前端路由之后的偽資源地址,sooooooooo修改
.gitignore
文件,注釋掉/dist
,因為我們最終部署上去的應用,就在這里面,所以我們必須將它上傳到 gitee
.DS_Store
node_modules
# /dist
...
biuld
你的項目,執行npm run biuld
命令,編譯你的項目,編譯完成之后,提交你的項目登錄你的 gitee ,打開你的項目版本庫頁面,在頁面頂部有一排選項 [ </>代碼 | Issues | ... | DevOps | 服務 | 管理 ],點開服務,第一個選項就是Gitee Pages,點它!之后打開的頁面中 部署分支:根據自己的版本庫情況進行選擇,部署目錄:填寫上面說到的
dist
,原因我就不說了。如果你一切順利,那么你應該已經部署成功了,在部署頁面上會顯示一行字:
已開啟 Gitee Pages 服務,網站地址: http://xxx.gitee.io/xxx
。那就恭喜啦!
【注意】第 3 步是根據我的項目情況進行修改的,可能不適用于所有項目情況
純手工制作,碼字不易,如果有幫到你,點個贊再走唄
??