我的 Svelte 出现错误,导致无法在 GitHub 页面托管的网站上加载
bundle.js
、bundle.css
、global.css
和 favicon.png
。
我已通读这个问题,但问题在其他浏览器上仍然存在,没有任何 VPN、干净的 Firefox 配置文件或没有扩展,并且似乎是接受文件内容类型的问题。
Firefox 控制台中的错误消息是:
GET https://path/to/global.css [HTTP/2 404 Not Found 9ms]
GET https://path/to/bundle.css [HTTP/2 404 Not Found 9ms]
GET https://path/to/bundle.js [HTTP/2 404 Not Found 7ms]
Loading failed for the <script> with source “https://path/to/bundle.js”
GET https://path/to/favicon.png [HTTP/2 404 Not Found 7ms]
带有
favicon.png
的响应和请求标头:
// Request
GET /favicon.png HTTP/2
Host: kitchefs.github.io
User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: image/webp,*/*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: https://kitchefs.github.io/beta/
TE: Trailers
// Response
HTTP/2 404 Not Found
content-type: text/html; charset=utf-8
server: GitHub.com
strict-transport-security: max-age=31556952
etag: W/"5f4de496-313"
access-control-allow-origin: *
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: EAA2:03EC:1BFD04:221937:5F816340
accept-ranges: bytes
date: Sat, 10 Oct 2020 07:39:07 GMT
via: 1.1 varnish
age: 475
其他响应标头都显示
text/html
的内容类型,尽管它们都不接受 text/html
。
我在
gh-pages
分支上使用 GitHub 页面,我可以确认这些文件存在。我正在说明这是否是 GitHub 页面或 Svelte 的问题,以及我可以采取哪些措施来修复/防止将来出现此问题。
如果需要,这里是代码,可以通过以下网址访问该网站:https://kitchefs.github.io/beta。
删除 public/index.html 中的前导
/
:
<link rel='icon' type='image/png' href='favicon.png'>
<link rel='stylesheet' href='global.css'>
<link rel='stylesheet' href='build/bundle.css'>
<script defer src='build/bundle.js'></script>
Gh-pages 将使用 URL 中的存储库名称进行解析。因此你不在基本路径上。
我遵循了本指南:https://sveltesaas.com/articles/sveltekit-github-pages-guide/
建议使用
docs
文件夹作为构建文件夹(通过 svelte.config.js
)并将 GitHub Pages 设置为从 docs
文件夹托管。
我尝试从 GitHub Pages 中的根文件夹进行托管,但刚刚收到 404 错误消息。使用
docs
文件夹解决了问题。
我知道已经有一个被接受的答案,但修复对我没有帮助。对我有用的是这个。
事实证明,问题是在我的 svelte.config.js 中 路径:{ 基础:开发? '' : '/我的投资组合', } 因为 GitHub 需要它才能正常工作。显然现在它不再需要它了,所以所有 404 都是正确的,因为它试图获取不存在的文件。
https://github.com/orgs/community/discussions/52062
尝试删除您可能在 svelte.config.js 中配置的路径