“<script> 加载失败”404 错误 - Svelte

问题描述 投票:0回答:3

我的 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

github-pages svelte
3个回答
2
投票

删除 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://kitchefs.github.io/beta/


0
投票

我遵循了本指南:https://sveltesaas.com/articles/sveltekit-github-pages-guide/

建议使用

docs
文件夹作为构建文件夹(通过
svelte.config.js
)并将 GitHub Pages 设置为从
docs
文件夹托管。

我尝试从 GitHub Pages 中的根文件夹进行托管,但刚刚收到 404 错误消息。使用

docs
文件夹解决了问题。


0
投票

我知道已经有一个被接受的答案,但修复对我没有帮助。对我有用的是这个。

事实证明,问题是在我的 svelte.config.js 中 路径:{ 基础:开发? '' : '/我的投资组合', } 因为 GitHub 需要它才能正常工作。显然现在它不再需要它了,所以所有 404 都是正确的,因为它试图获取不存在的文件。

https://github.com/orgs/community/discussions/52062

尝试删除您可能在 svelte.config.js 中配置的路径

© www.soinside.com 2019 - 2024. All rights reserved.