10分钟搞定Vite项目部署:从开发到上线(GitHub Pages+Vercel)全流程

  • 当你用Vite构建的Vue3项目在本地飞速运行,但部署到GitHub Pages或Vercel上却白屏... 问题根源是什么?"
  • 本文将详解Vite项目的多平台部署配置差异,提供'一次配置,双平台兼容'的解决方案。
  1. 前置准备

    • 环境要求
      • Vite 4+ / Vue 3.x
  2. 核心部署步骤

    1. 对比双平台的base差异(GitHub Pages需子路径,Vercel需根路径),动态配置静态资源路径

      • 关键配置

        • 修改vite.config.js
        javascript 复制代码
        import { defineConfig } from 'vite'
        import vue from '@vitejs/plugin-vue'
        
        const isGitHubPages = process.env.DEPLOY_TARGET === 'github-pages'
        const base = isGitHubPages ? '/vue-todo-list/' : '/'
        
        export default defineConfig({
          plugins: [vue()],
          base
        })
    2. GitHub Pages 适配

      • 自动化部署 (使用gh-pages一键推送):

        • 安装gh-pages
        bash 复制代码
        npm install gh-pages --save-dev
        • 在package.json中添加deploy命令
        json 复制代码
        // package.json
        {
            // ...,
            "scripts": {
                "dev": "vite",
                "build": "vite build",
                "preview": "vite preview",
                "deploy": "DEPLOY_TARGET=github-pages npm run build && gh-pages -d dist"
            },
            // ...
        }
        • 运行:npm run deploy
    3. Vercel 适配

      • 部署流程 (通过Vercel CLI关联Git仓库自动部署)
        1. 登录 Vercel (vercel.com)
        2. 点击 "New Project"
        3. 选择你的 GitHub 仓库
        4. 配置设置:
          • Framework Preset: Vite
          • Build Command: npm run build
          • Output Directory: dist
        5. 点击 Deploy
  3. 效果验证

    • GitHub Pages
      • 访问 https://username.github.io/repo-name
      • 检查资源加载(Chrome开发者工具 > Network)
    • Vercel
      • 访问自动生成的vercel.app域名
相关推荐
用户831348593069831 分钟前
Cesium实现雾气效果:按钮一键控制打开/关闭雾气效果,滑块拖动实时控制雾气浓度
vue.js·cesium
码流怪侠1 小时前
【GitHub】Ponytail:给 AI 编码代理植入“懒人资深开发者“灵魂的开源插件深度拆解
程序员·github·ai编程
齐翊1 小时前
怎么确认 AI 看懂了你的提示词?
人工智能·github·ai编程
锋行天下3 小时前
如何用Vite实现Vue组件的按需打包和远程加载
前端·vue.js·前端框架
用户900463370403 小时前
用Gemini搞定Vue报错和语法异常的问题
vue.js
李小庆6 小时前
Sowork AI Agent 编程助手教程 :第一章 Python环境搭建与Sowork项目克隆学习目标
github
小兔崽子去哪了6 小时前
Vue3 + Pinia 集成 IGV.js 实现 BAM 文件在线浏览
javascript·vue.js·后端
OpenTiny社区1 天前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
mqcode1 天前
你项目里的 axios,封对了吗?从裸用到生产级的四步进化
vue.js·axios
Linsk1 天前
组件 = 模板 + 业务逻辑
java·前端·vue.js