SvelteKit嵌套路由导航异常:访问/work/item1出现404错误
SvelteKit嵌套路由/work/item1出现404的排查方向
以下是可能导致该问题的常见原因及排查要点:
- 文件名格式问题:确认
work/item1/下的文件是严格的+page.svelte,注意大小写(比如不能写成+Page.svelte或+page.Svelte),SvelteKit对文件名大小写敏感,尤其在Linux/macOS环境下,大小写错误会直接导致路由无法识别。 - 路由逻辑拦截:检查
work/目录下的+layout.server.js、+page.server.js或+page.js文件,看是否存在重定向、路由守卫等逻辑,是否误拦截或重定向了/work/item1的请求。 - 服务未同步更新:开发环境下重启
npm run dev服务,有时候新增嵌套路由后热重载未生效;生产环境重新执行npm run build并重新部署,确保嵌套路由的代码被正确打包。 - 适配器配置异常:如果使用了第三方适配器(如Node.js、Vercel、Netlify等),检查适配器的路由支持配置。比如静态站点适配器可能需要开启
trailingSlash选项,或者确保嵌套路由被正确预渲染。 - base路径配置错误:查看
svelte.config.js中的kit.paths.base配置,如果设置了自定义base路径(比如/my-project),访问时需要加上该前缀,即/my-project/work/item1而非直接/work/item1。 - 动态路由冲突:确认
work/目录下没有类似[slug]/+page.svelte的动态路由,虽然静态路由优先级高于动态路由,但如果动态路由的逻辑存在异常处理,也可能间接导致404。
内容的提问来源于stack exchange,提问作者alfvar
相关产品推荐
相关产品推荐

