SvelteKit 1.15.8:单文件创建API路由报404问题咨询
单文件API路由在SvelteKit 1.15.8及新版中的可行性与操作方法
可行性结论
单文件创建API路由在新版SvelteKit中依然可行,但路由文件的命名规则已更新,你之前的写法是旧版路由系统的约定,不适用于1.15.8版本。
具体操作步骤
- 调整文件结构:将原
routes/api.ts移动并重命名为routes/api/+server.ts(要对应/api路径,必须在api目录下创建+server.ts文件)。 - 修正响应格式:新版SvelteKit的Server路由函数要求返回标准
Response对象,或使用框架提供的json工具函数简化操作。
修正后的代码示例
方式一:使用json工具函数(推荐)
import { json } from '@sveltejs/kit'; export function GET() { return json("HELLO!"); }
方式二:手动返回Response对象
export function GET() { return new Response(JSON.stringify("HELLO!"), { headers: { "Content-Type": "application/json" } }); }
原因说明
SvelteKit在后续版本中统一了路由约定:
- 页面路由使用
+page.svelte - API路由必须使用
+server.ts(或.js)文件,这类文件会被识别为服务器端路由,处理HTTP请求。
旧版直接在routes下创建api.ts的方式已被废弃,因此会出现404错误。
内容的提问来源于stack exchange,提问作者Olafvolafka
相关产品推荐
相关产品推荐

