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

NuxtJS部署GitHub User Pages仅显示README.md配置问题求助

问题根因
  • 你当前的配置存在两个核心问题:
    1. peaceiris/actions-gh-pages@v3 默认部署到gh-pages分支,但你预期GitHub User Pages从master分支读取站点内容,现在编译好的静态资源都存在gh-pages分支,Pages服务自然读不到对应的文件,只会展示master分支的README.md
    2. cd.yml的触发规则不合理,on: [push, pull_request]会导致任意分支的代码提交、PR操作都触发部署流程,容易出现误部署问题
修正方案

你可以根据自己的使用习惯任选一种方案:

方案1:调整actions配置,直接把生成的dist内容推到master分支

完全符合你要从master分支发布的需求,仅需修改cd.yml的Deploy步骤配置:

- name: Deploy
  uses: peaceiris/actions-gh-pages@v3
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    publish_dir: ./dist
    publish_branch: master # 新增这行,指定部署到master分支
    force_orphan: true # 可选,开启后只会保留最新的部署提交,清理master分支的历史冗余提交

注意:用这个方案的话,你需要把Nuxt项目的源码单独存到其他分支(比如dev分支),后续所有开发都在dev分支提交,CD流程会自动把编译后的静态资源推到master分支,避免源码和部署产物混在一起。

方案2:修改GitHub Pages的发布分支配置

如果不想调整分支使用规则,你可以直接到仓库的Settings -> Pages页面,把Source的分支从master改成gh-pages,不需要修改任何现有配置,等待1-2分钟页面就能正常访问。
补充:GitHub User Pages现在已经支持从任意分支发布,官方早前“必须用master分支”的要求早已更新,这个方案更符合常规开发习惯,源码放master,部署产物自动存gh-pages分支互不干扰。

额外优化建议

你可以把cd.yml的触发规则改成仅在源码所在分支推送时触发,避免无效的CD运行:

on:
  push:
    branches:
      - dev # 替换成你存放源码的分支名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 05:45:07