使用 Vite 在 React 中加载环境变量

Loading env variables in React using Vite

提问人:Anthony Onah 提问时间:10/20/2023 最后编辑:Brian Tompsett - 汤莱恩Anthony Onah 更新时间:10/20/2023 访问量:56

问:

我有一个 React 项目,我想在其中获取天气 API。当我在没有将它们存储在变量中的情况下使用 API 时,它会起作用,如果我将它们放在 dotenv 中并使用它,它会给我一条错误消息,指出 API 密钥已禁用。import.meta.env.VITE_API_KEY;

这是我的React代码:

import React from 'react';
import dotenv from 'dotenv';

// dotenv.config()

const apiKey = import.meta.env.VITE_API_KEY;

const myHeaders = new Headers();
myHeaders.append("Key", apiKey);

const requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch(`http://api.weatherapi.com/v1/forecast.json?Key=${apiKey}&q=Jos&days=5`,requestOptions)
  .then(response => response.json())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

这是我的环境:

VITE_API_KEY=XXX
reactjs 环境变量 fetch-api api-key dotenv

评论

0赞 Konrad 10/20/2023
您的 env 文件是否被称为 OR ?.envenv
0赞 Anthony Onah 10/20/2023
它被称为 .env
0赞 Konrad 10/20/2023
它是否与?package.json
1赞 Anthony Onah 10/20/2023
谢谢。你让我意识到我把我的 env 文件放在了错误的地方。

答:

2赞 Anthony Onah 10/20/2023 #1

我已经解决了。我犯的错误是将我的 env 文件放在我的 src 文件夹中。我删除了它并在我的 src 文件夹之外创建了一个新的 env 文件,它起作用了。