You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MEVN应用GitHub Actions构建时制品上传失败问题求助

问题原因

部署失败是工作流配置路径和调整后的文件夹结构不匹配导致的:你将前端代码移到client子目录后,原有配置里的依赖安装范围、构建产物上传路径都没有同步修改,CI流程找不到对应文件就会抛出错误。

修复点说明
  • 原配置的依赖安装步骤默认只会读取仓库根目录的package.json安装后端依赖,不会安装client目录下的前端项目依赖,会导致构建阶段找不到Vue相关依赖报错。
  • 你执行npm run build --prefix client命令时,Vue项目的构建产物默认会输出到client/dist路径,而非仓库根目录的./dist,原配置上传根目录./dist的逻辑自然找不到构建产物。
修正后的完整工作流配置

直接替换原有.github/workflows/Deploy.yml内容即可:

name: Deploy

on:
  push:
    branches:
      - main

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Setup Node
        uses: actions/setup-node@v1
        with:
          node-version: 16

      - name: Install frontend dependencies
        uses: bahmutov/npm-install@v1
        with:
          working-directory: client

      - name: Build project
        run: npm run build --prefix client

      - name: Upload production-ready build files
        uses: actions/upload-artifact@v2
        with:
          name: production-files
          path: ./client/dist

  deploy:
    name: Deploy
    needs: build
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main'

    steps:
      - name: Download artifact
        uses: actions/download-artifact@v2
        with:
          name: production-files
          path: ./dist

      - name: Deploy to GitHub Pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./dist
额外注意事项

如果配置修改后CI跑通但访问GitHub Pages出现白屏、静态资源404,需要检查前端项目配置:

  • 若使用Vite,修改client/vite.config.js中的base字段为你的仓库名路径,例如仓库名为mevn-demo则配置为base: '/mevn-demo/'
  • 若使用Vue CLI,修改client/vue.config.js中的publicPath字段为上述同样格式的路径即可。

内容的提问来源于stack exchange,提问作者Vivek Hotti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 00:15:45