vue3項目部署到Github

来源:https://www.cnblogs.com/weizwz/p/18411342
-Advertisement-
Play Games

此教程適應於以webpack,vue-cli,vite等腳手架構建的vue項目。當然,vue2和vue3都是可以滴。 1. 前提:你的代碼庫已經提交到Github上 如果沒有的話,請到GitHub上新建倉庫,並把你本地的項目提交到GitHub上新建的倉庫里。 具體方法,可以參考我的博客 Git使用記 ...


此教程適應於以webpack,vue-cli,vite等腳手架構建的vue項目。當然,vue2和vue3都是可以滴。

1. 前提:你的代碼庫已經提交到Github上

如果沒有的話,請到GitHub上新建倉庫,並把你本地的項目提交到GitHub上新建的倉庫里。
具體方法,可以參考我的博客 Git使用記錄 - 持續更新 - 將本地項目關聯到遠程倉庫

2. 在GitHub上設置部署配置

image

3. 到你的項目根目錄創建工作流文件

根目錄下新建 .github 文件夾,然後在其目錄下新建 workflows 文件夾,在裡面新建 main.yml
image

main.yml 里的內容如下:

# 將靜態內容部署到 GitHub Pages 的簡易工作流程
name: Deploy static content to Pages

on:
  # 僅在推送到預設分支時運行。
  push:
    branches: ['main']

  # 這個選項可以使你手動在 Action tab 頁面觸發工作流
  workflow_dispatch:      

# 設置 GITHUB_TOKEN 的許可權,以允許部署到 GitHub Pages。
permissions:
  contents: read
  pages: write
  id-token: write

# 允許一個併發的部署
concurrency:
  group: 'pages'
  cancel-in-progress: true

jobs:
  # 單次部署的工作描述
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Set up Node
        uses: actions/setup-node@v3
        with:
          node-version: 20
          cache: 'npm'
      - name: Install dependencies
        run: npm install
      - name: Build
        run: npm run build
      - name: Setup Pages
        uses: actions/configure-pages@v3
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          # Upload dist repository
          path: './dist'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v1

其中我們需要修改的內容:

  1. node版本,根據你的項目實際使用版本設置
  2. 打包目錄,一般都是 dist,如果不是的話請修改
  3. 項目腳本,此項目是使用npm構建,如果你使用的是pnpm,或者ymal等,需要手動修改。下麵給出pnpm的設置:
steps:
  - name: Checkout
	uses: actions/checkout@v4
  - name: Set up pnpm
	uses: pnpm/action-setup@v4
	with:
	  version: 9
  - name: Set up Node
	uses: actions/setup-node@v3
	with:
	  node-version: 20
	  cache: 'pnpm'
  - name: Install dependencies
	run: pnpm install
  - name: Build
	run: pnpm run build

pnpm的版本也根據你的實際使用而定,後面的內容都一樣。其他的請自行查找。

4. 修改你的項目部署根目錄

正常情況下一般都在 vite.config.tsvue.config.jswebpack.config.js 里,取決於你使用了哪種腳手架。
vite.config.ts 為例,存在 base 欄位中。參考代碼 vite-vue3-charts
image

如果你有封裝的話,如上圖,可能是一個變數,一般都在根目錄的 .env.production 文件中,修改此變數的值即可。如下圖:
image

5. 提交代碼,你的項目即可自動部署

或者到GitHub網站倉庫目錄,在 Actions 頁簽中,手動部署
image

6. 訪問路徑

訪問路徑:[github賬號名稱].github.io/[倉庫名稱]
例如:https://weizwz.github.io/vite-vue3-charts

實例項目代碼參考 weiz-vue3-charts

文章作者:唯之為之

文章出處:https://www.cnblogs.com/weizwz/p/18411342

版權聲明:本博客所有文章除特別聲明外,均採用 「CC BY-NC-SA 4.0 DEED」 國際許可協議,轉載請註明出處!

內容粗淺,如有錯誤,歡迎大佬批評指正


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • title: Nuxt Kit 組件管理:註冊與自動導入 date: 2024/9/15 updated: 2024/9/15 author: cmdragon excerpt: Nuxt Kit 為組件的註冊和導入提供了靈活高效的解決方案。無論你是要批量導入組件,還是單獨處理特定組件,這些工具都能 ...
  • <el-dialog width="600px" :title="title" :visible.sync="dialogVisible" :close-on-click-modal="false" :before-close="handleBeforeClose" @open="handleOpe ...
  • title: Nuxt Kit 自動導入功能:高效管理你的模塊和組合式函數 date: 2024/9/14 updated: 2024/9/14 author: cmdragon excerpt: 通過使用 Nuxt Kit 的自動導入功能,您可以更高效地管理和使用公共函數、組合式函數和 Vue A ...
  • IntersectionObserver (自動監聽元素是否進入了設備的可視區域之內) 示例: const io = new IntersectionObserver(callback, option); // 獲取元素 const target = document.getElementById( ...
  • 同步載入 阻塞模式,提高安全性 過多JS載入會影響頁面效率 預設情況下,JS是同步載入,及優先載入外部JS,只有當JS文件載入完成,don和css才開始載入 <script src = 'index.js' ></script> 非同步載入 非阻塞載入 動態創建script defer 延遲載入JS, ...
  • 一、實現一個光影牆 1. 根據自定義坐標點,輸出一個光影牆 /** * 添加光影牆 */ function addLightWall() { const geometry = new THREE.BufferGeometry(); const vertices = new Float32Array( ...
  • title: 使用 Nuxt Kit 檢查模塊與 Nuxt 版本相容性 date: 2024/9/13 updated: 2024/9/13 author: cmdragon excerpt: 通過 Nuxt Kit 提供的相容性檢查工具,您可以輕鬆地確保您的模塊與不同版本的 Nuxt 相容。這將有 ...
  • 1. Performance API 的用處 Performance API 是瀏覽器中內置的一組工具,用於測量和記錄頁面載入和執行過程中的各類性能指標。它的主要用處包括: 監控頁面資源載入:跟蹤頁面中的資源(如 CSS、JavaScript、圖片)的載入時間。 分析頁面載入時間:從導航到頁面完全渲 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...