nextjs静态页面github pages资源文件404

背景

通过把nextjs的静态文件放到github pages上,省一波流量钱,但是发现资源文件总是会404,本来以为是github pages构建完成更新cdn需要缓存,但是过了很久都没有成功,以下是静态文件目录

1
2
3
4
5
-- _next
-- chunks
-- *.js
-- css
-- *.css

后来做了猜想是目录深度原因,但是测试下来还是没有用。 后面经过验证是 下划线开头的文件或者文件夹的原因, 折腾了好半天。 实际的原因只是因为 github pages使用jeklly引擎的默认规则。

解法

  • 避免使用下划线开头的文件(需要重新)
  • 通过在根目录创建.nojekyll 空文件, 关闭jeklly引擎
1
2
3
4
5
6
-- .nojekyll
-- _next
-- chunks
-- *.js
-- css
-- *.css