应选Livewire:适合主攻后端、不熟悉Vue/React的开发者,交互逻辑全用PHP编写,Blade模板中通过wire指令绑定状态,调试直接看PHP堆栈,支持渐进式替换旧jQuery代码。

你需要为 Laravel 8 应用选择一个现代前端栈,但不确定该用 Livewire 还是 Inertia.js——选错会导致后续开发效率骤降、团队协作卡顿、甚至重构成本翻倍。
先确认你是否真的需要 Jetstream
Jetstream 是 Laravel 官方提供的完整认证与团队管理脚手架,不是所有项目都必须用。如果你只需要简单登录注册,Fortify + 自定义 Blade 就够了;只有当你明确需要邮箱验证、双因素认证、会话管理、团队邀请等功能时,才应进入 Jetstream 栈选型流程。
运行 composer require laravel/jetstream 前,请先判断项目真实需求层级。
从技术角色出发做决策
方法一:你主攻后端,不熟悉 Vue/React,团队里也没有专职前端
立即学习“前端免费学习笔记(深入)”;
选 Livewire。它把交互逻辑全写在 PHP 类里,Blade 模板中用 x-xxx 组件语法即可绑定状态,无需写 JS。页面刷新由 Livewire 自动处理,调试时直接看 PHP 异常堆栈,不用切到浏览器控制台查 undefined。
方法二:你或团队成员熟悉 Vue(尤其是 Vue 3 Composition API),希望首屏快、路由切换无白屏、未来可能做 PWA 或桌面端
选 Inertia.js。它让 Laravel 控制器仍用 return Inertia::render('Page', [...]) 返回数据,前端则用纯 Vue 组件渲染,完全复用 Vue 生态(Pinia、Vue Router、Vite HMR)。【注意:Inertia 要求你在 config/app.php 中确保 APP_URL 与实际访问域名严格一致,否则 XHR 请求会因跨域被拦截】
Miller (mlr) 是一个命令行工具,用于查询、整形和重新格式化名称索引数据,如 CSV、TSV、JSON 和 JSON Lines。它将 awk、sed、cut、join 和 sort 的功能整合到一个专为结构化数据处理而构建的单一工具中。
方法三:你正在维护旧 Laravel 项目,已有大量 Blade + jQuery 代码
优先选 Livewire。它能渐进式替换 jQuery 片段,比如先把用户列表的分页和搜索抽成 Livewire 组件,其他页面保持原样。Inertia 则要求整个前端重构成单页应用结构,无法局部嵌入。
按功能需求快速比对
第一步:打开终端,执行以下命令查看当前项目已安装的前端依赖
npm list vue @inertiajs/inertia @inertiajs/inertia-vue3 livewire-js
第二步:检查 resources/js/app.js 文件内容
若存在 createInertiaApp 调用且引入了 @inertiajs/inertia-vue3,说明项目已倾向 Inertia;若只看到 import { createApp } from 'vue' 但无 Inertia 相关代码,则大概率未启用任何栈,可安全选择;若文件里压根没 Vue,只有 Alpine.js 和 livewire 全局变量,那 Livewire 已就位。
第三步:运行 php artisan route:list --name=login
观察返回的中间件列:若含 inertia,说明路由已按 Inertia 模式注册;若含 livewire 或路径指向 Livewire\Http\Controllers\HttpConnectionHandler,则 Livewire 已激活。

















