Svelte入門:リファレンス @sveltejs/kit/node

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

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

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

スポンサーリンク

背景

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

@sveltejs/kit/node

import {
	createReadableStream,
	getRequest,
	setResponse
} from '@sveltejs/kit/node';

この行は SvelteKit アプリケーションにおいて Node.js 環境との統合を行うための関数をインポートしています。

具体的には:

  1. createReadableStream – Node.js の環境でストリーミングレスポンスを作成するための関数です。これによりデータを小さな塊で送信できるようになります。
  2. getRequest – Node.js の HTTP リクエストオブジェクトを SvelteKit の内部で使用できる形式に変換する関数です。
  3. setResponse – SvelteKit のレスポンスオブジェクトを Node.js の HTTP レスポンスに適用する関数です。

これらの関数は特に SvelteKit アプリケーションを Node.js サーバー上で実行する際のアダプターの一部として使用されることが多いです。

createReadableStream

バージョン2.4.0以降で利用可能
ディスク上のファイルを読み取り可能なストリームに変換します

function createReadableStream(file: string): ReadableStream;

解説

この関数は、指定されたファイルパスからファイルを読み取り、それを Web 標準の ReadableStream オブジェクトに変換します。

  • パラメータ: file: string – ディスク上のファイルパス
  • 戻り値: ReadableStream – ファイルの内容を表す読み取り可能なストリーム

この関数は特に大きなファイルを効率的に処理する場合や、ストリーミングレスポンスを生成する場合に便利です。SvelteKit アプリケーションで Node.js 環境でのファイル操作とブラウザ環境の ReadableStream API との橋渡しをします。

getRequest

function getRequest({
	request,
	base,
	bodySizeLimit
}: {
	request: import('http').IncomingMessage;
	base: string;
	bodySizeLimit?: number;
}): Promise<Request>;

解説

この関数は Node.js の http.IncomingMessage オブジェクトを Web 標準の Request オブジェクトに変換します。

パラメータは以下のオブジェクトです:

  • request: import('http').IncomingMessage – Node.js の HTTP リクエストオブジェクト
  • base: string – アプリケーションのベース URL パス
  • bodySizeLimit?: number – リクエストボディのサイズ制限(オプショナル)

戻り値は Promise<Request> で、Web 標準の Request オブジェクトを非同期に返します。

この関数は主に SvelteKit のアダプターで使用され、Node.js 環境からのリクエストを SvelteKit が内部で処理できる形式に変換します。これにより、SvelteKit アプリケーションが Node.js の HTTP サーバー上で動作できるようになります。

setResponse

function setResponse(
	res: import('http').ServerResponse,
	response: Response
): Promise<void>;

解説

この関数は Web 標準の Response オブジェクトを Node.js の http.ServerResponse オブジェクトに適用します。

パラメータ:

  • res: import('http').ServerResponse – Node.js の HTTP サーバーレスポンスオブジェクト
  • response: Response – Web 標準の Response オブジェクト(SvelteKit のハンドラから返されたもの)

戻り値は Promise<void> で、非同期操作が完了した後に何も返しません。

この関数は SvelteKit のアダプターで使用され、SvelteKit アプリケーションからのレスポンスを Node.js の HTTP サーバーが理解できる形式に変換します。具体的には、ステータスコード、ヘッダー、ボディなどの情報を Node.js のレスポンスオブジェクトに設定します。

これによって、SvelteKit アプリケーションが生成したレスポンスをクライアントに送信することができます。

おわりに

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

よっしー
よっしー

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

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

コメント

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