Javascript 环境变量-未定义

Javascript 环境变量-未定义,javascript,node.js,reactjs,webpack,environment-variables,Javascript,Node.js,Reactjs,Webpack,Environment Variables,我想使用环境变量。我定制了一个react应用程序环境 一切正常,应用程序运行正常,没有错误。但是.env文件中的变量给出了未定义的,而进程.env给出了一个空对象 我向变量添加了和REACT\u APP前缀 在webpack.config.js文件中,我添加了节点:{fs:'empty'},来自 这是我的护照 文件夹结构: 您必须将REACT\u APP放在您想要的变量名称前面 例如:/ 您不需要安装Dotenv或其他东西,因为React有自己的属性。尝试使用.env变量 在您的条目JS文件中添

我想使用
环境变量
。我定制了一个
react应用程序环境

一切正常,应用程序运行正常,没有错误。但是
.env
文件中的变量给出了
未定义的
,而
进程.env
给出了一个
空对象


我向变量添加了和
REACT\u APP
前缀

webpack.config.js
文件中,我添加了
节点:{fs:'empty'}
,来自

这是我的护照

文件夹结构:


您必须将
REACT\u APP
放在您想要的变量名称前面

例如:/

您不需要安装Dotenv或其他东西,因为React有自己的属性。

尝试使用
.env
变量

在您的条目JS文件中添加以下代码片段(可能是您的
/src/assets/JS/app.JS


然后重新启动应用程序。

问题已解决:

  • 卸载
    dotenv
  • 从主
    app.js
    文件中删除这两个:
  • npm start
    脚本中删除标志
    --env

  • webpack.config.js
    文件中删除
    节点:{fs:'empty'}

  • 安装,然后按照此处的说明进行操作

  • 无需
    REACT\u APP
    前缀


    已修复

    您可以使用webpack.DefinePlugin

     plugins: [
            new webpack.DefinePlugin({
                'process.env': {
                    'NODE_ENV': JSON.stringify('development')
                }
            })
        ],
    

    然后在代码中,只需使用process.env.NODE_env访问env变量

    尝试使用
    .env
    variablesAdded
    dotenv
    相同的结果。
    REACT_APP
    前缀是create REACT APP cli的一项功能,而不是REACT的一项功能。试试看:@grecdev是一篇非常好的文章,介绍了如何为react服务器端和客户端应用程序设置
    .env
    文件@grecdev我还可以看到您在开始脚本中没有在--env之后使用任何参数这可能会覆盖.env文件中定义的所有变量,可以在脚本中使用--env,也可以使用.env文件。我还添加了这一点,以及
    webpack.config.js
    文件中的
    节点:{fs:'empty'},
    ,我曾经遇到过这样的问题,我使用dotenv解决了它,它在开发模式下工作。但是,当我尝试为生产构建时,它失败了。嗯,让我在生产中检查它,以及
    development
    production
    已解决,
    dotenv webpack
    更容易清理。至少就我而言。
    const dotenv = require('dotenv')
    dotenv.config()
    
    const dotenv = require('dotenv')
    dotenv.config();
    
     plugins: [
            new webpack.DefinePlugin({
                'process.env': {
                    'NODE_ENV': JSON.stringify('development')
                }
            })
        ],