用途
bun-sveltekit 用于在 Bun 运行时上构建或运行 SvelteKit 应用,覆盖 SSR、适配器以及 Bun 专有 API 的使用场景。它帮助开发者将 SvelteKit 的开发、构建与部署流程迁移到 Bun,并利用 Bun 内置的 SQLite、文件读写等能力。
主要能力
- 使用
bunx sv create创建 SvelteKit 项目,使用bun install安装依赖,使用bun run dev、bun run build、bun run preview进行开发、构建与预览。 - 通过
svelte-adapter-bun适配器在 Bun 上运行 SvelteKit,支持配置输出目录、预压缩、环境变量前缀、动态 origin、X-Forwarded-For 深度等选项。 - 在服务端加载函数、表单动作、API 路由、文件操作和服务端钩子中使用 Bun 原生 API,例如
bun:sqlite的Database、Bun.file、Bun.write。 - 提供 Svelte 5 组件示例,使用
$props、$derived、$state等响应式语法。 - 提供 Docker 多阶段构建示例,基于
oven/bun:1镜像构建并运行产物。 - 提供环境变量访问方式,包括
$env/static/private、$env/static/public和$env/dynamic/private。 - 提供常见错误排查表,覆盖
Cannot find bun:sqlite、Vite 错误、水合失败、刷新 404 等问题及对应修复方向。
使用方式
快速开始流程为:使用 bunx sv create my-app 创建项目,进入目录后执行 bun install,然后通过 bun run dev 启动开发,bun run build 构建,bun run preview 预览。
要使用 Bun 适配器,执行 bun add -D svelte-adapter-bun,并在 svelte.config.js 中引入该适配器并配置到 kit.adapter。
在服务端代码中可直接导入 Bun 模块,例如在 +page.server.ts 中导入 Database 进行查询与写入,在 +server.ts 中返回 JSON 或读写文件,在 hooks.server.ts 中初始化数据库并挂载到 event.locals。
部署时执行 bun run build 后运行 bun ./build/index.js,或使用文档提供的 Dockerfile 进行容器化部署。
适用场景
- 希望在 Bun 运行时上开发 SvelteKit 应用并利用其内置 SQLite、文件 API 的项目。
- 需要为 SvelteKit 配置 Bun 适配器并进行 SSR 部署的场景。
- 需要将 SvelteKit 应用打包为 Docker 镜像并以 Bun 运行的场景。
- 需要参考 Svelte 5 组件写法与 SvelteKit 服务端数据加载、表单动作、API 路由示例的场景。
限制
文档未提供具体的性能基准、收费或价格信息、支持的平台范围以及效果承诺。安全安装部分建议参考 dependency-upgrade 技能以获取完整安全配置,包括 Socket CLI 集成、冷却设置、锁文件校验和 CI 强制执行。部分高级适配器选项、静态预渲染、边缘部署、缓存策略、懒加载和流式 SSR 需加载对应参考文件(references/adapter-config.md、references/performance.md)获取,当前资料未展开。