
こんにちは。よっしーです(^^)
今日は、SvelteKitのリファレンスについて解説しています。
背景
SvelteKitのリファレンスについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。
@sveltejs/kit/node
import {
createReadableStream,
getRequest,
setResponse
} from '@sveltejs/kit/node';
この行は SvelteKit アプリケーションにおいて Node.js 環境との統合を行うための関数をインポートしています。
具体的には:
createReadableStream
– Node.js の環境でストリーミングレスポンスを作成するための関数です。これによりデータを小さな塊で送信できるようになります。getRequest
– Node.js の HTTP リクエストオブジェクトを SvelteKit の内部で使用できる形式に変換する関数です。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のリファレンスについて解説しました。

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