Skip to content

Farrow渐进式 TypeScript Web 框架

类型安全 · 函数式 · 渐进式 | 第三方文档站

Farrow

快速上手

bash
npm create farrow-app my-app
cd my-app
npm run dev

一分钟示例

typescript
import { 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 设计

不同于其他框架后期添加类型定义,Farrow 从一开始就是为 TypeScript 而生。每个 API 都经过精心设计,提供最佳的类型推导体验。

更少的 Bug,更多的信心

通过编译时类型检查捕获错误,而不是在生产环境中发现。Schema 驱动的验证确保数据始终符合预期。

渐进式架构

你不需要一开始就学习所有概念。从简单的 HTTP 服务器开始,根据需要逐步添加路由、验证、中间件等功能。

生态系统

核心包

官方集成

社区工具

谁在使用 Farrow?

"Farrow 让我们的 TypeScript 代码更加安全和优雅。类型推导太棒了!"
— 某知名互联网公司前端架构师

"从 Express 迁移到 Farrow 后,我们的 bug 率下降了 60%"
— 某创业公司 CTO

"Schema 驱动开发改变了我们的工作方式,再也不用手写验证逻辑了"
— 全栈开发者

项目地址

这是一个第三方 Farrow 文档站 | 用 ❤️ 和 TypeScript 构建