Inertia のインストールにおける最初のステップは、サーバーサイドフレームワークの設定です。Inertia は Laravel の公式サーバーサイドアダプターを備えています。その他のフレームワークについては、 コミュニティアダプター.
Inertia は Laravel に最適化されているため、このウェブサイトのドキュメントの例では Laravel を使用しています。Inertia を他のサーバーサイドフレームワークで使用する場合の例については、アダプターによって管理されているフレームワーク固有のドキュメントを参照してください。
Laravel の スターターキットである Breeze と Jetstream は、新しい Inertia アプリケーションのためのすぐに使えるスキャフォールディングを提供します。これらのスターターキットは、Laravel と Vue または React を使用して新しい Inertia プロジェクトを構築を開始する最速の方法です。ただし、アプリケーションに Inertia を手動でインストールする場合は、以下のドキュメントを参照してください。
まず、Composer パッケージマネージャーを使用して Inertia サーバーサイドアダプターをインストールします。
composer require inertiajs/inertia-laravel
次に、アプリケーションへの最初のページアクセス時にロードされるルートテンプレートを設定します。これは、サイトのアセット(CSS と JavaScript)をロードするために使用され、JavaScript アプリケーションを起動するためのルート <div>
も含まれます。
<!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
ミドルウェアが公開されたら、HandleInertiaRequests
ミドルウェアをアプリケーションの bootstrap/app.php
ファイルの web
ミドルウェアグループに追加します。
use App\Http\Middleware\HandleInertiaRequests;
->withMiddleware(function (Middleware $middleware) {
$middleware->web(append: [
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'
),
]);
}
}