在 GitHub 页面上托管下一个应用程序时,js 和 css 未加载

A.J*_*A.J 7 jekyll github-pages next.js

Next.js 在_next文件夹中构建所有静态资产,但 Github 页面不需要提供这些文件。我是 404 静态资产。

示例 repo:https : //github.com/ajaymathur/ajaymathur.github.io 托管主分支,开发分支用于开发。

而且我猜 github pages 没有托管以-开头的路径。我怎样才能解决这个问题?

Scr*_*tch 13

仅仅添加一个.nojekyll文件对我来说还不够。我必须更改构建命令以在导出到静态 HTML/CSS/JS添加文件,如下所示

  "scripts": {
    ...
    "static": "next build && next export && touch ./out/.nojekyll && echo 'www.mywebsite.com' > ./out/CNAME",
    ...
  },
Run Code Online (Sandbox Code Playgroud)

我还使用gh-pages将文件从out文件夹复制到 Github Pages 将服务的分支,默认情况下.nojekyll不会复制文件。-t可以通过将选项设置为来规避此问题true

  "scripts": {
    ...
    "deploy": "gh-pages -d out -t true"
    ...
  },
Run Code Online (Sandbox Code Playgroud)

经过这些更改后,npm run static && npm run deploy应该执行您想要的操作。


kas*_*kas 7

在包含 _next 文件夹的文件夹中添加一个 .nojekyll 文件

这会禁用 Jekyll 处理,并让 _next 文件夹(包含下划线)复制到最终网站。

我的 _next 文件夹位于我的存储库的根目录中,因此我向根目录添加了一个 .nojekyll 文件。

  • 太棒了,花了几乎一天的时间来解决这个问题,我不知道这个 github 页面 jekyll 处理! (4认同)