よっしー
こんにちは。よっしーです(^^)
今日は、ルーティングについて解説しています。
背景
ルーティングについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。
+error
ロード中にエラーが発生した場合、SvelteKit はデフォルトのエラー ページを表示します。 +error.svelte ファイルを追加することで、ルートごとにこのエラー ページをカスタマイズできます。
// src/routes/blog/[slug]/+error.svelte
<script>
import { page } from '$app/stores';
</script>
<h1>{$page.status}: {$page.error.message}</h1>
SvelteKitのエラーハンドリングについて:
- エラーバウンダリの探索: SvelteKitは最も近いエラーバウンダリ(+error.svelteファイル)を探します。例えば、
src/routes/blog/+error.svelte
が存在しない場合、src/routes/+error.svelte
を試し、それでもダメならデフォルトのエラーページを表示します。 - 静的フォールバックエラーページ: それでもエラーが解決しない場合、またはルート+layoutのload関数からエラーが発生した場合、
src/error.html
ファイルを作成してカスタマイズできる静的フォールバックエラーページが表示されます。 - +layout(.server).js内のエラー: +layout(.server).js内でエラーが発生した場合、最も近いエラーバウンダリはそのレイアウトの上にある+error.svelteファイルです。
- 404エラー: ルートが見つからない場合(404エラー)、
src/routes/+error.svelte
(またはそのファイルが存在しない場合はデフォルトのエラーページ)が使用されます。 - 特定のエラーには使用されない: handleや+server.jsのリクエストハンドラ内で発生したエラーには+error.svelteは使用されません。
おわりに
今日は、 ルーティングについて解説しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント