
よっしー
こんにちは。よっしーです(^^)
今日は、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
モジュールについて説明しています。
- 公開可能な動的環境変数:
- このモジュールは、クライアントサイドに公開しても安全な環境変数へのアクセスを提供します
- 具体的には、
config.kit.env.publicPrefix
(デフォルトではPUBLIC_
)で始まる変数のみを含みます
$env/dynamic/private
との違い:private
版がすべての非公開環境変数を含むのに対し、こちらは公開用のプレフィックスで始まる変数のみを含みます- クライアントサイドのコードでも使用できます
- パフォーマンスへの影響:
- 動的な公開環境変数はサーバーからクライアントに送信される必要があるため、ネットワークリクエストが大きくなる可能性があります
- そのため、可能であれば静的な公開環境変数(
$env/static/public
)を使うことが推奨されています
- 使用制限:
- プリレンダリング中には使用できません
主な用途としては、公開APIのエンドポイントURLやアプリケーションの設定値など、クライアントサイドで必要でありながら機密ではない情報を扱う場合に使用します。変数名には必ずPUBLIC_
(または設定したプレフィックス)を付ける必要があります。
おわりに
今日は、 SvelteKitのリファレンスについて解説しました。

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