Svelte入門:リファレンス $env/dynamic/private

スポンサーリンク
Svelte入門:リファレンス $env/dynamic/private 用語解説
Svelte入門:リファレンス $env/dynamic/private
この記事は約3分で読めます。
よっしー
よっしー

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

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

スポンサーリンク

背景

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

$env/dynamic/private

このモジュールは、実行環境の変数へのアクセスを提供します。これらの変数は、アプリケーションが実行されているプラットフォームによって定義されます。例えば、adapter-nodeを使用している場合(またはvite previewを実行している場合)、これはprocess.envと同等です。このモジュールには、config.kit.env.publicPrefixで始まらない変数かつconfig.kit.env.privatePrefix(設定されている場合)で始まる変数のみが含まれます。

このモジュールはクライアントサイドのコードにインポートすることはできません。

動的環境変数はプリレンダリング中に使用することはできません。

import { env } from '$env/dynamic/private';
console.log(env.DEPLOYMENT_SPECIFIC_VARIABLE);

dev環境では、$env/dynamicは常に.envファイルからの環境変数を含みます。prod環境では、この動作はお使いのアダプターによって異なります。

解説

Svelteアプリケーションで環境変数を扱うための$env/dynamic/privateモジュールについて説明しています。

  1. 動的な環境変数へのアクセス
    • このモジュールは実行時(ランタイム)の環境変数にアクセスするためのものです
    • 環境変数の値は実行環境(プラットフォーム)によって定義されます
  2. プライベート変数
    • privateという名前が示すように、このモジュールではプライベートな(非公開の)環境変数にアクセスします
    • 具体的には、config.kit.env.publicPrefixで始まらない変数と、設定されている場合はconfig.kit.env.privatePrefixで始まる変数に限定されます
  3. 使用制限
    • クライアントサイドのコードでは使用できません(サーバーサイドのみ)
    • プリレンダリング中には使用できません
  4. 環境による違い
    • 開発環境(dev)では常に.envファイルの環境変数を含みます
    • 本番環境(prod)では動作が使用しているアダプターによって変わります

このモジュールは主に、API鍵やデータベース接続情報など、クライアントに公開すべきでない機密情報を含む環境変数を扱うために使用します。

おわりに

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

よっしー
よっしー

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

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

コメント

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