5

このチュートリアルを使用しました: https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/environment-variables.md

私が従った手順:

1) dotenv@4.0.0 をインストール

2) ルート フォルダーに「.env.development」と「.env.production」の 2 つのファイルを作成します。

3)「セットアップの指示に従ってください」(dotenv npm docsの例)

gatsby-config.js

const fs = require('fs');
const dotenv = require('dotenv');
const envConfig = 
dotenv.parse(fs.readFileSync(`.env.${process.env.NODE_ENV}`));
for (var k in envConfig) {
  process.env[k] = envConfig[k];
}

残念ながら、私が実行したときgatsby developNODE_ENVまだ設定されていません:

error Could not load gatsby-config


  Error: ENOENT: no such file or directory, open 'E:\Front-End Projects\Gatsby\sebhewelt.com\.env.undefined'

手動で設定すると機能します:

dotenv.parse(fs.readFileSync(`.env.development`));

このファイルに機密データを入れるため、gatsby-config に環境変数が必要です。

  {
      resolve: `gatsby-source-contentful`,
      options: {
        spaceId: envConfig.CONTENTFUL_SPACE_ID,
        accessToken: envConfig.CONTENTFUL_ACCESS_TOKEN
      }
    }

それを機能させる方法は?

PS: 追加の質問 - これが私に考えさせたように、パスワードとトークンを github に置くべきではないことはわかっていますが、netlify は github からビルドするため、他に安全な方法はありますか?

4

4 に答える 4

0

いくつかの検索を行った後、netlify Web サイトを介して環境変数を設定できることがわかりました。手順は次のとおりです。

  1. 独自の netlify コンソール プラットフォームで、設定に移動してください
  2. ビルドとデプロイのタブを選択します (サイドバーにあります)
  3. 環境サブタブ オプションを選択
  4. 変数の編集をクリックし、資格情報を追加/入力します
  5. 終わり!
于 2019-06-24T23:50:28.990 に答える