Nuxt.jsのRuntimeConfigを使って、環境変数の管理やAPIキーを隠す方法を試してみます。
サンプルコード
RuntimeConfigはNuxt.jsの2.13以降で使用できるプロパティで、動的な設定や環境変数をnuxtコンテキストに渡すことができます。
クライアントとサーバーの両方で使用する場合はpublicRuntimeConfig、サーバーからのみ使用する場合はprivateRuntimeConfigを使用します。
例として、ベースURLとAPIキーを設定する想定で試してみます。
プロジェクトのルートディレクトリに.envファイルを設置して、以下のような内容にします。
BASE_URL=https://example.com API_KEY=abcdefg
値は例なので、適宜変更してください。
nuxt.config.jsで下記を追加します。
export default { publicRuntimeConfig: { baseURL: process.env.BASE_URL }, privateRuntimeConfig: { apiKey: process.env.API_KEY } }
前述のとおり、publicRuntimeConfigはクライアントとサーバーの両方で使用可能、privateRuntimeConfigはサーバーからのみ使用可能になります。
SSRやSSGといったサーバーサイドでのみAPIキーを使用したい場合、privateRuntimeConfigで設定することでフロントエンドのコード上からAPIキーを隠すことができます。
ページで呼び出す場合は$configを使用します。
export default { async asyncData({ $config }) { console.log('baseURL', $config.baseURL); console.log('apiKey', $config.apiKey); } }
コメントが承認されるまで時間がかかります。