【发布时间】:2021-01-02 03:46:31
【问题描述】:
我有一个使用我的特定space 和accessToken 连接到Contentful 的文件。最近,我决定使用dotenv 包将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文件移到service文件夹下,client文件所在的文件夹中 - 在
.env文件中为我的环境变量使用了REACT_APP_*前缀 - 在
config调用中指定路径
所有这些解决方案都来自其他stackoverflow 问题。几天来,我一直在这个问题上徘徊,在列出的解决方案中盘旋并寻找其他解决方案,但仍然没有弄清楚为什么我无法访问我的 env 变量!
【问题讨论】:
-
您没有检查调用
.config方法的返回值,根据文档,如果失败,它将是一个带有错误的对象。您应该添加一个最小的可重现示例,包括 .env 文件的内容。同样作为一条建议,乞求人们不要结束你的问题通常不会帮助它获得更好的接收(如果有相反的话)...... -
酷,将检查并相应地更新我的问题。
标签: javascript environment-variables undefined dotenv