create-react-app 未捕获的引用错误:process未定义

i7uaboj4  于 3个月前  发布在  React
关注(0)|答案(5)|浏览(49)

vfwfrxfs

vfwfrxfs1#

我在设置环境变量时遇到了同样的问题,就像在 this doc 中一样。在生产环境中一切正常,但在开发模式下会出现错误提示。
关于这个问题,还有一个 SO 答案:https://stackoverflow.com/questions/70368760/react-uncaught-referenceerror-process-is-not-defined
我尝试了所有答案,但都没有解决我的问题。

db2dz4w8

db2dz4w82#

这可能是由于升级到webpack 5导致的。如果你对进程进行任何检查,例如

if (process && process.env && process.env.NODE_ENV === 'development')

,它将不再知道如何转换它。如果你尝试直接使用它,例如

if (process.env.NODE_ENV === 'development')

,它可能可以工作,但这只是一种猜测,没有足够的信息来了解你是如何使用它的。

oiopk7p5

oiopk7p53#

我在尝试使用microphone-stream这个npm模块时遇到了问题,该模块使用了processBuffer来录制音频。我使用npx create-react-app创建了我的项目。不幸的是,我只是为我的项目安装了那个特定的模块。

jv4diomz

jv4diomz4#

这可能是由于升级到webpack 5导致的。如果你对进程进行任何检查,例如

if (process && process.env && process.env.NODE_ENV === 'development')

,它将不再知道如何转换它。如果你尝试直接使用它,例如

if (process.env.NODE_ENV === 'development')

,它可能只是猜测,并且对你如何使用它几乎没有信息。感谢@814k31提供的帮助!我之前在与其他人合作的代码中遇到了这个问题,即使升级到react-scripts 5也无法解决,但这个方法解决了问题。从:

const someVal = process?.env?.REACT_APP_SOME_VARIABLE;

到:

const someVal = process.env.REACT_APP_SOME_VARIABLE;

,现在又可以正常工作了。

uplii1fm

uplii1fm5#

这对我来说也有效,使用CRA 5.0.1,但我就是不明白为什么process.env.REACT_APP_SOME_VARIABLE可以工作,而process?.env?.REACT_APP_SOME_VARIABLE却不能?

相关问题