SvelteKit

SvelteKit

基于 Svelte 与 Vite 的全栈框架,用文件目录定义路由并默认服务端渲染

核心功能

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 或纯静态托管的项目,靠切换适配器适配平台

安装配置

bash
创建项目 ——

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 产出部署包。

关键指标

尚未核验对标产品,此处只列本工具自身指标,不做对比结论。

指标SvelteKit
价格免费
开源
上手难度进阶

相关工具

同类工具

优点

  • 路由、数据加载、渲染策略、部署适配这些常见难题由框架给出统一约定,不必逐个自行选型
  • load 函数按文件名区分运行位置,+page.server.js 天然隔离数据库连接与私有环境变量
  • API 路由直接返回标准的 Response 对象,贴近 Web 平台原生接口而非框架自造的抽象
  • 官方适配器覆盖 Node、静态站、Cloudflare、Netlify、Vercel,换部署目标只需改 svelte.config.js

缺点

  • +page、+layout、+server 等一整套文件名约定需要先记住,初次接触时目录里同名文件较多
  • 部署前必须选定并配置适配器,否则构建产物无法直接上线
  • 上手前最好先掌握 Svelte 组件写法,官方也建议先过一遍 Svelte 教程