
よっしー
こんにちは。よっしーです(^^)
今日は、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
モジュールについて説明しています。
- 動的な環境変数へのアクセス:
- このモジュールは実行時(ランタイム)の環境変数にアクセスするためのものです
- 環境変数の値は実行環境(プラットフォーム)によって定義されます
- プライベート変数:
private
という名前が示すように、このモジュールではプライベートな(非公開の)環境変数にアクセスします- 具体的には、
config.kit.env.publicPrefix
で始まらない変数と、設定されている場合はconfig.kit.env.privatePrefix
で始まる変数に限定されます
- 使用制限:
- クライアントサイドのコードでは使用できません(サーバーサイドのみ)
- プリレンダリング中には使用できません
- 環境による違い:
- 開発環境(
dev
)では常に.env
ファイルの環境変数を含みます - 本番環境(
prod
)では動作が使用しているアダプターによって変わります
- 開発環境(
このモジュールは主に、API鍵やデータベース接続情報など、クライアントに公開すべきでない機密情報を含む環境変数を扱うために使用します。
おわりに
今日は、 SvelteKitのリファレンスについて解説しました。

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