簡體   English   中英

使用 dotenv 未定義的環境變量

[英]Environment variables undefined using dotenv

我有一個使用我的特定spaceaccessToken連接到Contentful的文件。 最近,我決定使用dotenv package 將keys隱藏到.env文件中。 這是我的文件的樣子:

import {createClient} from 'contentful';
require('dotenv').config();
//console.log('space = ', process.env.CONTENTFUL_SPACE);

const client = createClient({
  space: process.env.CONTENTFUL_SPACE,
  accessToken: process.env.CONTENTFUL_TOKEN
});

export default client;

出於某種原因, env變量以未定義的形式出現。 目前,我的.env文件位於根目錄下。 這是我項目的文件結構:

project
 client
  src
   service
    client.js <-- The file I pasted above
 node_modules
 .env
 package-lock.json
 package.json

我嘗試過的事情:

  1. 卸載dotenv並重新安裝
  2. 刪除node_modules文件夾並重新安裝所有依賴項
  3. .env文件移動到client文件所在的service文件夾下
  4. .env文件中為我的 env 變量使用了REACT_APP_*前綴
  5. config調用中指定路徑

所有這些解決方案都來自其他stackoverflow問題。 幾天來,我一直在堅持這個問題,在列出的解決方案中循環並尋找其他解決方案,但仍然沒有弄清楚為什么我無法訪問我的env變量!

因此,我嘗試以與您構建它的方式相同的方式構建示例項目,但它不起作用。 我將 .env 文件移到 /service 文件夾下,它起作用了。 我的猜測是,要求 dot env 文件應該位於包裝項目的主文件(根目錄中的主文件)以及 .env 文件中。

嘗試在配置中設置 your.env 文件的路徑。

const dotenv = require('dotenv');
dotenv.config({ path: '../../../.env' });

編輯:配置路徑

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM