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
,它提供了具有相同信息的$updated
store。如果你目前正在使用$app/stores
,我们建议你迁移到$app/state
(需要 Svelte 5)。
1
2
3
<h1>home</h1>
<p>this is the home page.</p>