はじめに
普通のReactとNext.jsで環境変数の設定方法が異なることを知らず、APIキーを呼び出せずハマってしまった。
かなり初歩的です。
.env ファイルで定義
まず、プロジェクトのルートディレクトリに.envファイルを作成する。
(.gitignoreに記述してgit管理外にしておく)
APIKEYを設定する例としてます。
React の場合
環境変数定義の際、変数名の最初にREACT_APP_をつける
..env
REACT_APP_APIKEY="xxxxxxxxxxxxxxxxxxxxxxx"
Next.js の場合
環境変数定義の際、変数名の最初にNEXT_PUBLIC_をつける
..env
NEXT_PUBLIC_APIKEY="xxxxxxxxxxxxxxxxxxxxxxx"
js(もしくはts)ファイルで呼び出す
Reactの場合でもNext.jsの場合でもprocess.env.環境変数名で呼び出す。
React の場合
..js
const apiKey = process.env.REACT_APP_APIKEY;
Next.js の場合
..js
const apiKey = process.env.NEXT_PUBLIC_APIKEY;
最後に
Next.jsのプロジェクトでREACT_APP_を使ってしまい、APIに接続できずに悩みました...
参考になる詳しい記事がたくさんありました。
ありがとうございました。