You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Create React App使用dotenv存储API Key时遇模块缺失错误求助

解决Create React App中使用.env文件的编译错误

错误原因

你手动引入了Node.js环境的dotenv包,但Create React App(CRA)已经内置了.env文件的支持,无需额外安装和调用dotenv。dotenv依赖Node.js核心模块(fs/path/os),这些模块在浏览器环境中不存在,因此编译报错。

修复步骤

1. 移除不必要的dotenv引用

删除代码中的这一行:

require('dotenv').config

2. 修正.env文件格式

.env文件中变量不要加引号,且等号两边避免空格(规范写法):

REACT_APP_KEY=1234ABC

注:CRA只会识别以REACT_APP_开头的环境变量,这是强制要求。

3. 调整模块引入方式(可选但推荐)

React项目更推荐使用ES模块语法替换CommonJS的require:

import request from 'superagent'
const url = 'https://wordsapiv1.p.mashape.com/words/'

export function getDictionaryDefinition() {
  return request
    .get(`${url}dog`)
    .set('X-Mashape-Key', process.env.REACT_APP_KEY)
    .then((response) => {
      console.log(response)
    })
}

4. 重启开发服务器

CRA会在启动时加载.env文件,修改.env后必须重启npm start才能生效。

重要提醒

前端环境中的变量最终会被打包到静态文件中,所有REACT_APP_开头的变量都会暴露给用户。如果你的API密钥是需要保密的敏感信息,不要直接在前端使用,应该通过后端代理转发API请求,避免密钥泄露。

内容的提问来源于stack exchange,提问作者vygrdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 16:00:20