Github Pages无法加载CSS与JS文件,同类解决方案未生效求助
问题原因
- 核心原因:GitHub Pages 默认启用 Jekyll 静态站点生成逻辑,Jekyll 构建时会自动过滤所有名称以下划线
_开头的文件、文件夹,你的样式与脚本存放在_assets目录下,直接被规则拦截,因此访问时返回空内容。 - 次要原因:打包工具的公共路径配置错误,你的 GitHub Pages 站点部署在子路径
/calculatorWithThemes/下,若打包时公共路径设为根路径/,也会导致资源路径匹配异常。 - 边缘原因:推送 gh-pages 分支时仅推送了 dist 文件夹本身,而非 dist 文件夹内的所有内容,导致实际资源存放路径和请求路径不匹配。
解决步骤
- 优先处理 Jekyll 过滤规则:在 gh-pages 分支的根目录新建一个名为
.nojekyll的空文件,该文件会告知 GitHub Pages 跳过 Jekyll 构建流程,所有文件会原样发布,下划线开头的目录也会正常保留。 - 修正打包公共路径配置:
- 若使用 Vite,在
vite.config.js中设置base: '/calculatorWithThemes/' - 若使用 Webpack,在
webpack.config.js中设置output.publicPath: '/calculatorWithThemes/' - 若使用 Vue CLI,在
vue.config.js中设置publicPath: '/calculatorWithThemes/'
- 若使用 Vite,在
- 重新执行打包命令,将 dist 文件夹内的所有内容(而非 dist 文件夹本身)推送到 gh-pages 分支,确保 gh-pages 分支根目录可以直接看到
_assets、fonts等资源目录。 - 等待 1-2 分钟让 GitHub Pages 部署生效,清除浏览器缓存后重新访问站点即可。
内容的提问来源于stack exchange,提问作者Roman Kolar
相关产品推荐
相关产品推荐

