router README

The project's README from github.com/TanStack/router. As one markdown file: README.md.

TanStack Router

TanStack Router

A modern router designed for type safety, data‑driven navigation, and seamless developer experience.

  • End‑to-end type safety (routes, params, loaders)
  • Schema‑driven search params with validation
  • Built‑in caching, prefetching & invalidation
  • Nested layouts, transitions & error boundaries

Read the Router Docs →

TanStack Start

TanStack Start

A full‑stack framework built on Router, designed for server rendering, streaming, and production‑ready deployments.

  • Full‑document SSR & streaming
  • Server functions & end‑to‑end type safety
  • Deployment‑ready bundling & builds
  • All the power of TanStack Router, plus full‑stack features

Read the Start Docs →


npm downloads GitHub stars Bundle size

semantic-release Best of JS Follow @TanStack

Become a Sponsor!

Get Involved

Partners

CodeRabbit Cloudflare Netlify
Neon Clerk Convex
Sentry Prisma Strapi
Router & you?

We're looking for TanStack Router & Start Partners to join our mission! Partner with us to push the boundaries of TanStack Router & Start and build amazing things together.

LET'S CHAT

Explore the TanStack Ecosystem

… and more at TanStack.com »

router (TanStack/router)

Searching Database…

15.2K ·GitHub
这是什么?TanStack Router 是一个面向 Web 的现代路由库,主打端到端的类型安全——路由、参数、加载器(loader)和搜索参数都会经过类型检查。这个仓库还托管了 TanStack Start,一个构建在该路由之上的全栈框架。
它是一个路由库,还是一套完整的框架?两者都有,在同一个仓库里:Router 是以客户端为先的路由库,而 Start 是在它之上可选的全栈层,提供整页 SSR、流式渲染、服务器函数和开箱即可部署的构建。
我怎么把它装到我的项目里?安装对应你所用框架的包(npm install @tanstack/react-router),然后按照 Router 文档里的快速上手操作;Start 有自己的一套文档。仓库本身是一个 pnpm + nx 的 monorepo。
它只能在 React 里用吗?React 是主要目标——这个项目自称是'面向 Web(React 及更多)'的路由,整个代码库都用 TypeScript 编写。当前支持的框架列表请查看文档。
它已经可以用于生产环境,还是仍处于实验阶段?它的定位是生产可用,而不是实验性项目:Start 提供开箱即可部署的打包和构建,而且仓库的 CI 会在每次改动时运行 eslint、单元测试、e2e 测试、类型检查和构建检查。
我可以用它做一个纯单页应用(SPA)吗,还是必须要有服务端?这个路由以客户端为先,所以经典的单页应用就是最基本的使用场景——不需要服务器。TanStack Start 是可选的:当你想在同一套路由模型上获得整页 SSR、流式渲染和服务器函数时,再加上它即可。
它能自己处理数据请求和缓存吗?可以——缓存、预取和数据失效都内置在路由里,加载器(loader)也是路由中带类型的组成部分,所以不需要额外引入别的库就能实现数据驱动的导航。
它是怎么处理 URL 查询参数的?它是基于 schema 的:你可以为每个路由声明一个校验 schema,参数从端到端保持完全的类型安全,而不是从 URL 里解析出来的松散字符串。
可以做嵌套布局和按路由的错误处理吗?可以——嵌套布局、过渡动画和错误边界(error boundary)都是路由内置的一等特性。
What are similar projects?nuxt, react-router, wasp, framework, reflex, fresh, graphql, open-saas
Creator
TanStack
Size
116.8 MB
Stars
15.2K
Age
7y
Commits · 90 Days