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
variablesAddeddotenv
相同的结果。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')
}
})
],