快速入门
Vafast 是一个高性能、类型安全的 TypeScript Web 框架。内置 JIT 编译验证器、中间件预编译等优化技术,比 Express/Hono 快约 1.8x。
Bun
Vafast 针对 Bun 进行了优化,Bun 是一种旨在作为 Node.js 的直接替代品的 JavaScript 运行时。
你可以使用下面的命令安装 Bun:
bash
curl -fsSL https://bun.sh/install | bashbash
powershell -c "irm bun.sh/install.ps1 | iex"自动安装
我们建议使用 bun create vafast 启动一个新的 Vafast 服务器,该命令会自动设置所有内容。
bash
bun create vafast my-app完成后,你应该会在目录中看到名为 my-app 的文件夹。
bash
cd my-app通过以下命令启动开发服务器:
bash
bun dev访问 localhost:3000 应该会显示 "Hello Vafast"。
TIP
Vafast 提供了 dev 命令,能够在文件更改时自动重新加载你的服务器。
基础示例
简单路由
typescript
import { Server, defineRoutes, createHandler } from 'vafast'
const routes = defineRoutes([
{
method: 'GET',
path: '/',
handler: createHandler(() => 'Hello Vafast!')
},
{
method: 'GET',
path: '/users',
handler: createHandler(() => ['user1', 'user2', 'user3'])
}
])
const server = new Server(routes)
export default { fetch: server.fetch }带参数的路由
typescript
const routes = defineRoutes([
{
method: 'GET',
path: '/users/:id',
handler: createHandler(({ params }) => {
return `User ID: ${params.id}`
})
},
{
method: 'POST',
path: '/users',
handler: createHandler(async ({ body }) => {
return { success: true, user: body }
})
}
])使用 Schema 验证
typescript
import { Type } from '@sinclair/typebox'
const userSchema = Type.Object({
name: Type.String({ minLength: 1 }),
email: Type.String({ pattern: '^[^@]+@[^@]+\\.[^@]+$' }),
age: Type.Optional(Type.Number({ minimum: 0 }))
})
const routes = defineRoutes([
{
method: 'POST',
path: '/users',
handler: createHandler(
{ body: userSchema },
({ body }) => {
// body 已验证并自动推导类型
return { success: true, user: body }
}
)
}
])下一步
现在你已经成功创建了一个 Vafast 应用!接下来你可以:
如果你遇到任何问题,请查看 故障排除 页面或加入我们的社区。
