服务器端设置
服务器端设置
安装 Inertia 的第一步是配置您的服务器端框架。Inertia 为 Laravel 提供了官方的服务器端适配器。对于其他框架,请参阅社区适配器。
Inertia 针对 Laravel 进行了优化,因此本网站上的文档示例使用 Laravel。如果您想了解如何在其他服务器端框架中使用 Inertia,请参阅该适配器维护的特定框架的文档。
Laravel 起始套件
Laravel 的 起始套件(Breeze 和 Jetstream)提供了针对新的 Inertia 应用程序的开箱即用的脚手架。这些起始套件是使用 Laravel 和 Vue 或 React 快速开始构建新的 Inertia 项目的绝佳方式。但是,如果您想手动安装 Inertia 到您的应用程序中,请查阅下面的文档。
安装依赖项
首先,使用 Composer 包管理器安装 Inertia 服务器端适配器。
composer require inertiajs/inertia-laravel
根模板
接下来,设置根模板,该模板将在首次访问应用程序的第一个页面时加载。它将用于加载您的站点资源(CSS 和 JavaScript),并且还将包含一个根 <div>
,用于启动您的 JavaScript 应用程序。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
@vite('resources/js/app.js')
@inertiaHead
</head>
<body>
@inertia
</body>
</html>
此模板应包含您的资源,以及 @inertia
和 @inertiaHead
指令。
默认情况下,Inertia 的 Laravel 适配器将假定您的根模板命名为 app.blade.php
。如果要使用其他根视图,可以使用 Inertia::setRootView()
方法进行更改。
中间件
接下来,我们需要设置 Inertia 中间件。您可以通过将 HandleInertiaRequests
中间件发布到应用程序来完成此操作,可以使用以下 Artisan 命令完成。
php artisan inertia:middleware
中间件发布后,请在 App\Http\Kernel
中的 web
中间件组中的最后一项注册 HandleInertiaRequests
中间件。
'web' => [
// ...
\App\Http\Middleware\HandleInertiaRequests::class,
],
此中间件提供了一个 version()
方法,用于设置您的资源版本,以及一个 share()
方法,用于定义共享数据。
创建响应
这就是全部,您已经准备好进行服务器端操作了!现在,您可以开始创建 Inertia 页面并通过响应进行渲染。
use Inertia\Inertia;
class EventsController extends Controller
{
public function show(Event $event)
{
return Inertia::render('Event/Show', [
'event' => $event->only([
'id',
'title',
'start_date',
'description',
]),
]);
}
}
推荐文章: