[解決済み] Reactプロジェクトに.envファイルを追加する
質問
githubにコミットする際にAPI Keyを隠したいのですが、フォーラムでガイダンスに目を通しましたが、特に以下の投稿が参考になりました。
create-react-appでAPIキーを隠すにはどうしたらいいですか?
変更を加え、yarnを再起動しました。何が間違っているのかよくわかりません。
.env
ファイルをプロジェクトのルートに追加しました (ファイル名は
process.env
を作成し、そのファイルの中に
REACT_APP_API_KEY = 'my-secret-api-key'
.
キーを追加する方法が原因かもしれないと考えています。
fetch
テンプレートリテラルを使用しないなど、複数の形式を試しましたが、私のプロジェクトはまだコンパイルされません。
よろしくお願いします。
performSearch = (query = 'germany') => {
fetch(`https://api.unsplash.com/search/photos?query=${query}&client_id=${REACT_APP_API_KEY}`)
.then(response => response.json())
.then(responseData => {
this.setState({
results: responseData.results,
loading: false
});
})
.catch(error => {
console.log('Error fetching and parsing data', error);
});
}
解決方法は?
4ステップ
-
npm install dotenv --save
-
次に、アプリに次の行を追加します。
require('dotenv').config()
-
次に
.env
ファイルをアプリケーションのルートディレクトリに作成し、そこに変数を追加してください。
// contents of .env
REACT_APP_API_KEY = 'my-secret-api-key'
-
最後に
.env
に.gitignore
ファイルを作成すると、Git がそれを無視し、GitHub にも残らないようにします。
を使用している場合
create-react-app
であれば、ステップ 3 と 4 だけで済みますが、変数が
REACT_APP_
を実行します。
参考にしてください。 https://create-react-app.dev/docs/adding-custom-environment-variables/
ノート - .envファイルに変数を追加した後、アプリケーションを再起動する必要があります。
参考資料 https://medium.com/@thejasonfile/using-dotenv-package-to-create-environment-variables-33da4ac4ea8f
関連
-
[解決済み] 矢印本体を囲む予期せぬブロックステートメント
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] Reactのこの3つの点は何をするところなのでしょうか?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] React jsのonClickはメソッドに値を渡すことができない
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Typescript react - モジュール ''react-materialize'' の宣言ファイルが見つかりませんでした。'path/to/module-name.js' は暗黙のうちに any 型を持ちます。
-
[解決済み】ReactJS: マテリアルuiのブレークポイントについて
-
[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避するにはどうすればよいですか?
-
[解決済み] バベルエラーです。JSX値は、式または引用されたJSXテキストのいずれかである必要があります。
-
[解決済み] マテリアルUIセレクトフィールドのマルチセレクト
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] formcontrollabel - material-ui | Reactのデフォルトのtypography classを変更するには?
-
[解決済み] 'Proptypes'が定義されていない
-
[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。