Inertia.js - The Modern Monolith

Inertia.js - The Modern Monolith

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

访问网站
我的收藏180 次访问更新于 a month ago反馈
Inertia.js - The Modern Monolith screenshot

详细介绍

Inertia.js - The Modern Monolith

简介

Inertia.js 是一个现代单体(modern monolith)应用开发方案,旨在让开发者使用自己熟悉的后端来构建前端体验。它支持使用 React、Vue 和 Svelte 构建单页应用(SPA),同时保留服务端路由的优雅特性,可即插即用地对接任意后端,并针对 Laravel 进行了精细优化,且无需编写 API。

主要功能

  • 服务端路由:将路由、控制器、中间件、鉴权、数据获取与状态保留在稳固的后端之中。
  • 不止于 Laravel:除 Laravel 外,也支持 Rails、Django、Phoenix 等后端,沿用团队熟悉的技术栈进行开发。
  • 灵活的前端:通过框架特定的 Inertia 辅助函数,使用 React、Vue 或 Svelte 创建现代化前端体验。
  • 表单处理:简化表单管理,支持简单提交、直观的插槽与属性,以及完全类型化的事件处理器,涵盖校验、文件上传与错误处理。
  • SEO 与服务端渲染:借助服务端渲染能力,开箱即用地获得速度与 SEO 优势。
  • 局部刷新:仅刷新变更的数据,保持应用响应迅速,避免整页重新加载。
  • 共享数据:轻松在全部页面间共享用户详情、通知与设置等数据。
  • 轮询:通过轮询辅助函数构建实时应用,按间隔保持页面数据新鲜。
  • 资源版本管理:内置自动资源版本管理,放心发布。
  • 服务端状态:以后端为唯一事实来源,由 Inertia 自动同步状态。
  • 鉴权:在后端处理登录、重定向与授权,无需重复安全逻辑。
  • 预取:利用 Inertia Link 在悬停或点击时的预取选项,实现极速导航。
  • 延迟属性:优先性能,仅发送初始渲染所需内容。
  • 无限滚动:提供网页上最简化的无限滚动实现。

适用场景

  • 希望用 React、Vue 或 Svelte 构建 SPA,但不想开发独立 API 的团队。
  • 使用 Laravel、Rails、Django、Phoenix 等后端,希望延续服务端路由与控制器模式的开发者。
  • 需要兼顾 SEO、服务端渲染、表单处理、实时轮询及鉴权等能力的现代 Web 应用项目。
  • 想要通过 Laravel 官方 starter kits 快速上手并部署 Inertia 应用的场景。