updated 状态包含 true 或 false,取决于自页面首次打开以来是否部署了新版本的应用。要使此功能生效,你的 svelte.config.js 必须指定 kit.version.pollInterval。
src/routes/+layout
<script>
import { page, navigating, updated } from '$app/state';
</script><script lang="ts">
import { page, navigating, updated } from '$app/state';
</script>版本变更只会在生产环境中发生,而不会在开发环境中发生。因此,在本教程中 updated.current 将始终为 false。
你可以通过调用 updated.check() 手动检查新版本,而不受 pollInterval 的限制。
src/routes/+layout
{#if updated.current}
<div class="toast">
<p>
A new version of the app is available
<button onclick={() => location.reload()}>
reload the page
</button>
</p>
</div>
{/if}在 SvelteKit 2.12 之前,你必须使用
$app/stores,它提供了具有相同信息的$updatedstore。如果你目前正在使用$app/stores,我们建议你迁移到$app/state(需要 Svelte 5)。
1
2
3
<h1>home</h1>
<p>this is the home page.</p>