cxc-399

cxc-399

記錄專案部署github踩坑經過

本着在 github 部署一个 vue3+vite 的综合站项目,卡了在这阶段几天,写篇文章记录一下~
经过两天在 github 的摸爬滚打,终于对 github 的工作流( workflows)、pages;vite 项目打包;有一些了解和配置。

github workflows(build.yml)#

# 將靜態內容部署到 GitHub Pages 的簡易工作流程
name: 部署靜態內容到 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: 檢查
        uses: actions/checkout@v4
      - name: 設置 Node
        uses: actions/setup-node@v3
        with:
          node-version: 18
      - name: 安裝相依套件
        run: npm install
      - name: 構建
        run: npm run build
      - name: 設置 Pages
        uses: actions/configure-pages@v3
      - name: 上傳檔案
        uses: actions/upload-pages-artifact@v2
        with:
          # 上傳 dist 儲存庫
          path: './dist'

      - name: 部署到 GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v2

注意點#

image

  • 需要配置一個有權限的密鑰給倉庫使用 (沒有需要到倉庫初始化)
  • 根據不同的 uses 有著不同的配置 需要具體到對應的庫去查看 (我嘗試了很多工作流 有些工作流太久 推薦去對應打包工具的官網去找對應的工作流)
    image
  • npm 緩存問題
    image
  • !!!當選擇當前工作流時 不需要手動指定分支以及目錄!!! 不然會找不到目標檔案

vite 注意點#

  1. 需要設置 base 屬性 官方連結https://cn.vitejs.dev/guide/static-deploy.html#github-pages
  2. 圖片設置
  3. public 目錄不會被 vite 打包 在設置 base 的前提下 (默認 /xx.html 直接可以訪問) base/xx.html
    image
  4. import.meta.env.BASE_URL 直接訪問 base 屬性
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。