Svelte入門:リファレンス @sveltejs/kit -Vol.6-

スポンサーリンク
Svelte入門:リファレンス @sveltejs/kit -Vol.6- 用語解説
Svelte入門:リファレンス @sveltejs/kit -Vol.6-
この記事は約5分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、SvelteKitのリファレンスについて解説しています。

スポンサーリンク

背景

SvelteKitのリファレンスについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。

@sveltejs/kit

HandleFetch

handleFetchフックは、サーバー上(またはプリレンダリング中)で実行されるload関数内部で発生するfetchリクエストを修正(または置き換え)することができます。

型定義:

  • 入力として以下のプロパティを持つオブジェクトを受け取ります:
  • event: RequestEvent型のリクエストイベント
  • request: Request型のリクエスト
  • fetch: fetch関数の型と同じ型
  • 戻り値はResponseまたはPromise

解説

HandleFetchは、サーバーサイドでのデータフェッチをカスタマイズするためのフックです。

  1. 主な目的:
  • load関数内でのfetchリクエストの制御
  • リクエストの修正や置き換えが可能
  • サーバーサイドとプリレンダリング時のみ動作
  1. 入力パラメータの詳細:
  • event: サーバーサイドのリクエストコンテキストを提供
  • request: 実際のフェッチリクエストの詳細
  • fetch: 元のfetch関数への参照
  1. 一般的なユースケース:
  • APIリクエストへのヘッダー追加
  • キャッシュの制御
  • プロキシの設定
  • 認証情報の付加
  • リクエストの書き換え
  1. 重要な特徴:
  • 非同期処理に対応
  • クライアントサイドではなくサーバーサイドでのみ動作
  • プリレンダリング時にも実行される

このフックは、特にサーバーサイドでのデータフェッチに関する細かい制御が必要な場合に有用です。

HandleServerError

サーバーサイドのhandleErrorフックは、リクエストへの応答中に予期しないエラーが発生したときに実行されます。
ローディングまたはレンダリング中に予期しないエラーが発生した場合、この関数はエラーとイベントを引数として呼び出されます。この関数が決してエラーをスローしないようにしてください。

型定義:

  • 入力として以下のプロパティを持つオブジェクトを受け取ります:
  • error: 不明な型のエラー
  • event: RequestEvent型のリクエストイベント
  • status: 数値型のステータス
  • message: 文字列型のメッセージ
  • 戻り値は、voidまたはApp.Error型で、Promiseでラップすることも可能

解説

HandleServerErrorは、サーバーサイドのエラーハンドリングを担当する重要なフックです。

  1. 実行コンテキスト:
  • サーバーサイドでのみ動作
  • リクエスト処理中のエラーをキャッチ
  • ローディングとレンダリングの両フェーズをカバー
  1. 入力パラメータの詳細:
  • error: あらゆる型のエラーを受け付け(unknown型)
  • event: リクエストに関する情報を含むイベントオブジェクト
  • status: HTTPステータスコード
  • message: エラーの説明メッセージ
  1. 重要な注意点:
  • エラーをスローしてはいけない
  • 安全なエラーハンドリングが必須
  • 非同期処理が可能
  1. 一般的な使用例:
  • エラーのログ記録
  • エラー監視システムへの通知
  • カスタムエラーレスポンスの生成
  • デバッグ情報の収集
  • エラーメトリクスの記録

このフックは、サーバーサイドでの堅牢なエラー処理を実装するための重要な手段を提供します。

HttpError

error関数によって返されるオブジェクト

インターフェース定義:

interface HttpError {…}

プロパティ:

  1. status: number;
    400-599の範囲のHTTPステータスコード。
  2. body: App.Error;
    エラーの内容。

解説

HttpErrorは、アプリケーションでのエラーハンドリングを標準化するためのインターフェースです。

  1. 構造の特徴:
  • シンプルな2つのプロパティ構成
  • 標準的なHTTPエラーステータスコードを使用
  • カスタムエラー内容を保持可能
  1. statusプロパティの詳細:
  • 400-599の範囲に限定
  • 400番台:クライアントエラー
  • 500番台:サーバーエラー
  • 一般的なHTTP規約に準拠
  1. bodyプロパティの特徴:
  • App.Error型を使用
  • アプリケーション固有のエラー情報を格納
  • エラーの詳細な内容を提供可能
  1. 使用シーン:
  • APIレスポンスのエラー
  • ルーティングエラー
  • 認証/認可エラー
  • バリデーションエラー

このインターフェースは、エラー情報を構造化された形式で扱うための標準的な方法を提供します。

おわりに

今日は、 SvelteKitのリファレンスについて解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました