Nuxt3 - 在 GitHub 页面上找不到“_nuxt”目录(404)

STh*_*STh 6 github-pages nuxt.js mjs github-actions nuxtjs3

(我知道这听起来可能类似于_nuxt 文件夹中缺少 js 文件,但不幸的是,我无法理解那里的答案)

当我将我的dist文件夹部署到 GitHub Pages 时,它包含

dist 
| _nuxt
  | css/main.css
  | entry.*******.css
  | entry-*******.mjs
  | index-*******.mjs
  | history-********.mjs
  | header-********.mjs
  | ... some other mjs-files
| css/main.css
| index.html
| history.html
| ... some other HTML-files
Run Code Online (Sandbox Code Playgroud)

HTML 页面已提供,非常好,并且在<head>- 部分中,他们想要加载模块(.mjs- 文件)。不幸的是,所有这些请求都失败并返回 404:

Chrome 控制台错误 I Chrome控制台错误II

为什么对 -fold 的请求_nuxt失败,而/和 的/css请求却通过?


编辑:刚刚看到在 VS Code 中,该文件夹只是标记为-folder的符号链接.output/public(由 生成nuxi generate):

在此输入图像描述

这可能是问题所在吗?但无论如何,它似乎包含这些文件:

在此输入图像描述


编辑 II:我无法运行npm run start本地测试 ( node .output/server/index.mjs),因为该.output/server文件夹是空的,如图所示:

在此输入图像描述

在 Live Server(VS Code 扩展)中运行该文件夹时,返回错误:

在此输入图像描述


实际上,下载生成的.tar-file(部署时自动生成的工件GitHub Actions)后不包含 -directory _nuxt,而只是静态 HTML 文件和css-directory 以及其中assets包含 -file 的目录。assets/css/main.css为什么_nuxtGitHub Action 会忽略 -directory?

STh*_*STh 2

正如这里所说

现在可以通过在页面存储库的根目录中创建名为 .nojekyll 的文件并将其推送到 GitHub 来完全绕过 GitHub Pages 上的 Jekyll 处理。仅当您的站点使用以下划线开头的文件或目录时才需要这样做,因为 Jekyll 认为这些是特殊资源并且不会将它们复制到最终站点。

这可能会回答这个问题,因为 -directory_nuxt带有下划线前缀,它会被 Jekyll 构建忽略。根据GitHub 博客的说法,这意味着添加一个.nojekyll文件应该可以解决问题。

.nojekyll-file 显然必须放置在部署的目录中,在我的例子中,因为我只是部署dist,它需要位于 nuxt 的public-folder 中才能包含在 -directory 中dist