在建構單頁應用程式時,一個常見的挑戰是當網站資源被更改時要如何刷新。幸運的是,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 整合時,資源版本控制會自動完成。