Первым шагом при установке Inertia является настройка Вашей серверной инфраструктуры. Inertia поставляется с официальными серверными адаптерами для Laravel и Rails. Для других фреймворков смотрите адаптеры сообщества.
Установите серверные адаптеры 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" />
<link href="{{ mix('/css/app.css') }}" rel="stylesheet" />
<script src="{{ mix('/js/app.js') }}" defer></script>
</head>
<body>
@inertia
</body>
</html>
Затем установите промежуточное программное обеспечение Inertia. В адаптере Rails этот параметр настраивается автоматически. Однако в Laravel Вам нужно опубликовать посредника HandleInertiaRequests
в Вашем приложении, что можно сделать с помощью этой команды:
php artisan inertia:middleware
После создания зарегистрируйте посредника HandleInertiaRequests
в Вашем App\Http\Kernel
, как последний элемент в Вашей группе посредников web
.
'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'
),
]);
}
}