reactjs 无法访问环境变量react /supbase

ruoxqz4g  于 2023-01-17  发布在  React
关注(0)|答案(3)|浏览(167)

我在创建一个React应用程序和超级数据库。
当我将supabaseURL放入database.js文件时,他会读取它,但由于我还必须保护我的私有API密钥,他会提到:
ts:87未捕获的错误:supabaseKey是必需的。
不知何故,他不读.env.env.local文件。检查我的代码如下:
Database.js:

import { createClient } from '@supabase/supabase-js 

 const supabaseUrl = process.env.REACT_APP_SUPABASE_URL;
 const supabaseKey = process.env.REACT_APP_SUPABASE_KEY;

 export const supabase = createClient(supabaseUrl, supabaseKey)`

我的env变量:

REACT_APP_SUPABASE_URL="myurl"
 REACT_APP_SUPABASE_KEY="mykey"

.envenv.local我都试过了

o2rvlv0m

o2rvlv0m1#

在您的情况下,如果您使用React并希望访问. env.local,React有自己的“dotenv”模块,您不需要导入它,当您放入. env.local文件时,不要忘记删除字符串引号“”,如下所示:
在. env.local文件中

REACT_APP_SUPABASE_URL=myurl 
REACT_APP_SUPABASE_KEY=mykey

而不是像这样用它来连接

process.env.REACT_APP_SUPABASE_URL
process.env.REACT_APP_SUPABASE_KEY

完成后,您需要重新启动React应用程序。

oxiaedzo

oxiaedzo2#

我无法指出问题所在,但下面是您可以查看的一些事项和解决方法

.env文件是否位于正确的目录中?

env文件应该位于项目的根目录中

解决方法,使用dotenv软件包

dotenv软件包帮助你从.env文件读取属性,你可以

import dotenv from 'dotenv';
dotenv.config()

然后,可以将.env变量与process.env.{variable name}配合使用

fhity93d

fhity93d3#

你重新加载你的申请了吗?
请记住,环境变量是在构建时嵌入的

相关问题