SvelteKit按钮跳转404求助:路由文件匹配却无法访问
解决SvelteKit点击跳转404的问题
你遇到的问题大概率是SvelteKit路由命名规则不匹配,结合你的情况,按以下步骤排查:
检查路由文件命名与结构
SvelteKit 1.0+版本要求页面文件必须命名为+page.svelte,且放在对应路由名称的文件夹下。比如要实现/new-notebook路径:- 正确结构:
src/routes/new-notebook/+page.svelte - 错误结构:
src/routes/new-notebook.svelte(这是旧beta版本的写法,当前稳定版已不支持)
把你的new-notebook.svelte内容迁移到src/routes/new-notebook/+page.svelte中,同理处理upload-notebook页面。
- 正确结构:
验证文件大小写与路径一致性
确保路由文件夹/文件名的大小写和goto()中的路径完全一致(比如New-Notebook和new-notebook会被视为不同路由)。重启开发服务器
修改路由结构后,重启npm run dev,避免开发服务器缓存旧的路由配置。排查路由冲突
检查src/routes下是否存在与new-notebook同名的文件夹(且内部没有+page.svelte),或者同名的+server.js/+server.ts文件,这些可能会覆盖页面路由。
如果以上步骤都试过仍未解决,确认你的SvelteKit版本(执行npm list @sveltejs/kit查看),如果是旧版本,可以考虑升级到最新稳定版,或者按照对应版本的路由规则调整文件结构。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

