- vm_api.py: pure FastAPI JSON API on :8098 with CORS - vm-api.service: systemd unit for API (replaces inline HTML vm_web.py for frontend) - vm_web.py: kept intact as fallback; Apache now proxies /api/ -> :8098 - frontend/: Vite + React + TanStack Query scaffold - Apache vhost updated: DocumentRoot -> frontend/dist, /api/ proxy, SPA fallback - All original HTML pages still functional via :8099 during transition
46 lines
2.8 KiB
Markdown
46 lines
2.8 KiB
Markdown
<img src="https://static.scarf.sh/a.png?x-pxid=d988eb79-b0fc-4a2b-8514-6a1ab932d188" />
|
|
|
|
# TanStack React Router
|
|
|
|
<picture>
|
|
<source
|
|
media="(prefers-color-scheme: dark)"
|
|
srcset="https://tanstack.com/api/readme/router.png?framework=react&theme=dark"
|
|
/>
|
|
<source
|
|
media="(prefers-color-scheme: light)"
|
|
srcset="https://tanstack.com/api/readme/router.png?framework=react"
|
|
/>
|
|
<img
|
|
src="https://tanstack.com/api/readme/router.png?framework=react"
|
|
alt="TanStack React Router"
|
|
width="900"
|
|
/>
|
|
</picture>
|
|
|
|
🤖 Type-safe router w/ built-in caching & URL state management for React!
|
|
|
|
<a href="https://twitter.com/intent/tweet?button_hashtag=TanStack" target="\_parent">
|
|
<img alt="#TanStack" src="https://img.shields.io/twitter/url?color=%2308a0e9&label=%23TanStack&style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Fbutton_hashtag%3DTanStack">
|
|
</a><a href="https://discord.com/invite/WrRKjPJ" target="\_parent">
|
|
<img alt="" src="https://img.shields.io/badge/Discord-TanStack-%235865F2" />
|
|
</a><a href="https://npmjs.com/package/@tanstack/react-router" target="\_parent">
|
|
<img alt="" src="https://img.shields.io/npm/dm/@tanstack/router.svg" />
|
|
</a><a href="https://bundlephobia.com/result?p=@tanstack/react-router" target="\_parent">
|
|
<img alt="" src="https://badgen.net/bundlephobia/minzip/@tanstack/react-router" />
|
|
</a><a href="#badge">
|
|
<img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg">
|
|
</a><a href="https://github.com/TanStack/router/discussions">
|
|
<img alt="Join the discussion on Github" src="https://img.shields.io/badge/Github%20Discussions%20%26%20Support-Chat%20now!-blue" />
|
|
</a><a href="https://bestofjs.org/projects/router"><img alt="Best of JS" src="https://img.shields.io/endpoint?url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=tanstack%2Frouter%26since=daily" /></a><a href="https://github.com/TanStack/router" target="\_parent">
|
|
<img alt="" src="https://img.shields.io/github/stars/tanstack/router.svg?style=social&label=Star" />
|
|
</a><a href="https://twitter.com/tan_stack" target="\_parent">
|
|
<img alt="" src="https://img.shields.io/twitter/follow/tan_stack.svg?style=social&label=Follow @TanStack" />
|
|
</a><a href="https://twitter.com/tannerlinsley" target="\_parent">
|
|
<img alt="" src="https://img.shields.io/twitter/follow/tannerlinsley.svg?style=social&label=Follow @TannerLinsley" />
|
|
</a>
|
|
|
|
Enjoy this library? Try the entire [TanStack](https://tanstack.com)! [React Query](https://github.com/TanStack/query), [React Table](https://github.com/TanStack/table), [React Charts](https://github.com/TanStack/react-charts), [React Virtual](https://github.com/TanStack/virtual)
|
|
|
|
## Visit [tanstack.com/router](https://tanstack.com/router) for docs, guides, API and more!
|