端到端的类型安全
从路由到数据库,类型贯穿全栈。编译时捕获所有类型错误,让运行时错误成为历史。

npm create farrow-app my-app
cd my-app
npm run devimport { Http, Response } from 'farrow-http'
import { ObjectType, String, Number } from 'farrow-schema'
// 定义 Schema - 获得类型 + 验证
class CreateUserRequest extends ObjectType {
name = String
age = Number
}
const app = Http()
// 类型安全的路由
app.get('/users/<id:int>').use((request) => {
// request.params.id 自动是 number 类型
const user = getUser(request.params.id)
return Response.json(user)
})
// 自动验证请求体
app.post('/users', { body: CreateUserRequest }).use((request) => {
// request.body 完全类型安全
const user = createUser(request.body)
return Response.status(201).json(user)
})
app.listen(3000)不同于其他框架后期添加类型定义,Farrow 从一开始就是为 TypeScript 而生。每个 API 都经过精心设计,提供最佳的类型推导体验。
通过编译时类型检查捕获错误,而不是在生产环境中发现。Schema 驱动的验证确保数据始终符合预期。
你不需要一开始就学习所有概念。从简单的 HTTP 服务器开始,根据需要逐步添加路由、验证、中间件等功能。
"Farrow 让我们的 TypeScript 代码更加安全和优雅。类型推导太棒了!"
— 某知名互联网公司前端架构师
"从 Express 迁移到 Farrow 后,我们的 bug 率下降了 60%"
— 某创业公司 CTO
"Schema 驱动开发改变了我们的工作方式,再也不用手写验证逻辑了"
— 全栈开发者