核心功能
Svelte 只负责渲染 UI 组件,写完整应用还需要路由、数据加载、渲染策略和部署方案,SvelteKit 把这些一并补齐。适合既要首屏服务端渲染、又希望后续导航走客户端接管的内容站与业务应用。
功能亮点
目录结构就是路由表
往 src/routes 里放 +page.svelte 即得到一个页面,动态段用 [slug] 这样的目录名表示
数据加载分服务端与通用两种
+page.js 的 load 两端都跑,+page.server.js 的 load 只在服务端跑,可直连数据库
页面与接口同一套约定
+server.js 导出 GET/POST 等函数并返回标准 Response 对象,接口和页面写在同一棵目录树里
渲染方式按需切换
同一项目可让部分路由服务端渲染、部分构建期预渲染、部分纯客户端渲染
换部署平台只换适配器
官方提供 Cloudflare、Netlify、Node、static、Vercel 五个适配器,改配置即可换目标
适用场景
• 对首屏速度和 SEO 有要求的内容型站点,用 SSR 直出 HTML、后续导航交给客户端
• 前后端一体的中小型业务应用,页面用 +page.svelte、接口用 +server.js 写在同一棵目录树里
• 需要部署到 Cloudflare Workers、Netlify、Vercel 或纯静态托管的项目,靠切换适配器适配平台
安装配置
创建项目 —— npx sv create my-app cd my-app npm run dev 第一条命令会在 my-app 目录里生成项目,并询问是否启用 TypeScript 等基础工具链。 npm run dev 会在 localhost:5173 启动开发服务器;若创建过程中没装依赖,运行前要先安装。
使用方法
用 npx sv create my-app 建项目后 npm run dev 启动开发服务器;在 src/routes 下新建目录并放 +page.svelte 即得到一个页面,动态路由用 [slug] 这样的目录名;数据在 +page.js 的 load 里取(两端都跑)或写进 +page.server.js 的 load(只在服务端跑,可直连数据库);接口写在 +server.js,导出 GET/POST 等函数并返回标准 Response;公共布局放 +layout.svelte;上线前在 svelte.config.js 选好目标平台的 adapter,再 npm run build 产出部署包。
关键指标
尚未核验对标产品,此处只列本工具自身指标,不做对比结论。
相关工具
同类工具
优点
- 路由、数据加载、渲染策略、部署适配这些常见难题由框架给出统一约定,不必逐个自行选型
- load 函数按文件名区分运行位置,+page.server.js 天然隔离数据库连接与私有环境变量
- API 路由直接返回标准的 Response 对象,贴近 Web 平台原生接口而非框架自造的抽象
- 官方适配器覆盖 Node、静态站、Cloudflare、Netlify、Vercel,换部署目标只需改 svelte.config.js
缺点
- +page、+layout、+server 等一整套文件名约定需要先记住,初次接触时目录里同名文件较多
- 部署前必须选定并配置适配器,否则构建产物无法直接上线
- 上手前最好先掌握 Svelte 组件写法,官方也建议先过一遍 Svelte 教程