シングルページアプリを構築する際の一般的な課題の1つは、変更されたときにサイトアセットを更新することです。幸いなことに、Inertiaを使用すると、サイトアセットの現在のバージョンをオプションで追跡することで、これが簡単になります。アセットが変更されると、Inertiaは次のリクエストでXHR訪問の代わりに完全なページ訪問を自動的に行います。
自動アセット更新を有効にするには、Inertiaにアセットの現在のバージョンを伝える必要があります。これは、アセットが更新されたときに変更される限り、任意の文字列(文字、数字、またはファイルハッシュ)にすることができます。
通常、アプリケーションのアセットバージョンは、InertiaのHandleInertiaRequests
ミドルウェアのversion
メソッド内で指定できます。
class HandleInertiaRequests extends Middleware
{
public function version(Request $request)
{
return parent::version($request);
}
}
または、アセットバージョンは、Inertia::version()
メソッドを使用して手動で提供できます。
use Inertia\Inertia;
Inertia::version($version);
Inertia::version(fn () => $version); // Lazily...
Inertiaでのアセット更新は、ハードページ訪問によってアセットがリロードされるという前提で機能します。ただし、Inertiaは実際にこれを強制する処理は何も行いません。通常、これは何らかの形式のキャッシュバスティングで行われます。たとえば、アセットURLの末尾にバージョンクエリパラメータを追加します。
Laravel Mixを使用している場合は、有効にすることでこれを自動的に行うことができます バージョン管理を webpack.mix.js
ファイルで。LaravelのVite統合を使用する場合、アセットのバージョン管理は自動的に行われます。