问题如标题,已经描述的很清晰了,再举个例子,比如我第一次部署Github网页:`https://dingdangdog.github.io` 时,使用 `Nuxt` 构建并部署静态页面后,发现首页可以正常显示,但点击一些特殊操作按钮时,会出现没有反应的现象,打开浏览器控制台,就会发现很多 404的错误,仔细观察这些404全部都是加载 `_nuxt` 文件夹下的资源是出现的报错。
## 问题原因
根据 `Stackoverflow` 上的[问题及回答](https://stackoverflow.com/questions/71951915/nuxt3-nuxt-directory-not-found-404-on-github-pages)可知,该问题是由于文件夹的名称导致的。
**因为 `_nuxt` 文件夹带有下划线前缀,所以它将被 `Jekyll` 构建时忽略了,所以其实 `_nuxt` 文件夹并没有发布到网站的托管服务上。**
<!-- more -->
## 解决
想要解决该问题,很简单。
通过在页面存储库的根目录中创建一个名为 `.nojekyll` 的文件并将其推送到 `GitHub`,可以完全绕过 `GitHub Pages` 上的 `Jekyll` 处理。仅当您的网站使用以下划线开头的文件或目录时才需要这样做,因为 `Jekyll` 认为这些是特殊资源,不会将它们复制到最终网站。
也就是说,创建一个名为 `.nojekyll` 的空文件,再发布到 `Github Pages`上即可解决该问题。
### 注意
但要注意的是,`.nojekyll` 文件应该放在打包后的文件夹根目录,比如 `Nuxt` 构建静态资源包时,默认打包后生成 `dist` 文件夹,所以 `.nojekyll` 在打包后应该出现在 `dist` 文件夹中,然后将 `dist` 文件夹下的所有文件一起上传到 `Github Pages` 对应的分支上即可。