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

Nuxt.js部署GitHub Pages后资源baseURL缺失问题求助

解决Nuxt.js部署到GitHub Pages资源路径404问题

核心问题分析

站点根路径可正常访问,但/_nuxt/开头的资源请求返回404,本质是构建阶段Nuxt未正确注入baseURL,导致资源路径缺少仓库名前缀/pascal-presentation-site/,而GitHub Actions工作流可能未正确读取你的配置,甚至覆盖了相关设置。

具体解决思路

  • 简化Nuxt配置,避免路径冲突
    无需手动指定完整的buildAssetsDir,Nuxt会自动基于baseURL拼接构建资源路径,修改配置如下:

    export default defineNuxtConfig({
        app: {
            baseURL: '/pascal-presentation-site/',
            buildAssetsDir: '_nuxt/', // 用相对路径,自动拼接baseURL
        },
    });
    
  • 在GitHub Actions工作流中强制注入baseURL
    打开你的.github/workflows/nuxtjs.yml,找到构建步骤,通过环境变量强制传递baseURL,确保构建时Nuxt读取到正确路径:

    - name: Build
      run: npm run build
      env:
        NUXT_APP_BASE_URL: '/pascal-presentation-site/'
    

    也可直接在构建命令中拼接环境变量:

    - name: Build
      run: NUXT_APP_BASE_URL='/pascal-presentation-site/' npm run build
    
  • 验证构建产物的资源路径
    可在workflow中添加步骤,检查生成的index.html里的资源路径是否正确,方便排查问题:

    - name: Check asset paths in index.html
      run: cat dist/index.html | grep "_nuxt"
    

    执行后查看日志,确认资源路径是否为/pascal-presentation-site/_nuxt/xxx.js,若是则说明构建配置生效。

  • 确认GitHub Pages部署配置
    进入仓库Settings -> Pages页面,确认:

    • 部署分支为gh-pages
    • 部署目录选择/ (root)(而非/docs等其他目录)
    • 工作流中的publish_dir指向Nuxt构建输出目录./dist(原starter workflow默认正确,需确认未被修改)
  • 移除工作流中可能覆盖配置的步骤
    检查nuxtjs.yml内是否存在修改nuxt.config.js的脚本或步骤,若有直接删除,确保本地配置文件在构建时被正常读取。

内容的提问来源于stack exchange,提问作者Alexis Van San

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 01:26:11