[英]Environment variables undefined using dotenv
我有一个使用我的特定space
和accessToken
连接到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
我尝试过的事情:
dotenv
并重新安装node_modules
文件夹并重新安装所有依赖项.env
文件移动到client
文件所在的service
文件夹下.env
文件中为我的 env 变量使用了REACT_APP_*
前缀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.