当我将API_KEY设置为环境变量时,它显示为'undefined'
当我将API_KEY设置为环境变量时,它显示为“undefined”。当我硬编码API Key时,API调用可以工作,所以这不是密钥的问题。我还可以看到它的值在日志中是'undefined'。我试图从一个用express构建的后端服务器(server.js)访问它。我在项目后端目录的根目录中创建了一个单独的.env文件(与server.js处于同一级别)。
我已经安装了dot env,并在server.js文件中包含了'import dotenv from dot env'和dotenv.config。我在下面包含了server.js、.env和package.json文件。
server.js
import express from "express";
import cors from "cors";
import axios from "axios";
import dotenv from "dotenv";
dotenv.config();
const PORT = 8000;
const app = express();
app.use(cors());
app.get("/hello", (req, res) => {
res.json("Hello World");
});
app.get("/test-cases", async (req, res) => {
const API_KEY = process.env.REACT_APP_OPENAI_API_KEY;
console.log(API_KEY);
.env
# Not a real API KEY!!!!!
REACT_APP_OPENAI_API_KEY=sk-NgPdmiXotwLWvasdsddsfkFJG4bnvnod3BwRPTsPaeUv
package.json
{
"name": "test-genie-backend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start-backend": "nodemon src/server.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.4.0",
"cors": "^2.8.5",
"dotenv": "^16.1.0",
"express": "^4.18.2"
}
}
2条答案
按热度按时间irtuqstp1#
不妨试试这个:
jw5wzhpr2#
将导入语句替换为:
或尝试使用require语法