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

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

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

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

スポンサーリンク

背景

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

$env/dynamic/public

$env/dynamic/privateと同様ですが、config.kit.env.publicPrefix(デフォルトはPUBLIC_)で始まる変数のみが含まれます。そのため、クライアントサイドのコードに安全に公開することができます。

注意点として、パブリックな動的環境変数はすべてサーバーからクライアントに送信される必要があり、これによりネットワークリクエストが大きくなります — 可能な場合は、代わりに$env/static/publicを使用してください。

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

import { env } from '$env/dynamic/public';
console.log(env.PUBLIC_DEPLOYMENT_SPECIFIC_VARIABLE);

解説

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

  1. 公開可能な動的環境変数
    • このモジュールは、クライアントサイドに公開しても安全な環境変数へのアクセスを提供します
    • 具体的には、config.kit.env.publicPrefix(デフォルトではPUBLIC_)で始まる変数のみを含みます
  2. $env/dynamic/privateとの違い
    • private版がすべての非公開環境変数を含むのに対し、こちらは公開用のプレフィックスで始まる変数のみを含みます
    • クライアントサイドのコードでも使用できます
  3. パフォーマンスへの影響
    • 動的な公開環境変数はサーバーからクライアントに送信される必要があるため、ネットワークリクエストが大きくなる可能性があります
    • そのため、可能であれば静的な公開環境変数($env/static/public)を使うことが推奨されています
  4. 使用制限
    • プリレンダリング中には使用できません

主な用途としては、公開APIのエンドポイントURLやアプリケーションの設定値など、クライアントサイドで必要でありながら機密ではない情報を扱う場合に使用します。変数名には必ずPUBLIC_(または設定したプレフィックス)を付ける必要があります。

おわりに

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

よっしー
よっしー

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

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

コメント

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