用.env反应env变量

时间:2017-06-06 11:51:29

标签: reactjs environment-variables create-react-app

我试图关注从react-create-app添加env变量的文档而没有成功:

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

enter image description here

  • 在文档的根目录中我有一个" .env"文件(默认.env属性)
  • .env文件只包含一个变量' REACT_APP_API_HOST = http://localhost:8080'
  • 尝试访问我的应用程序中的process.env(使用create react app创建)给了我未定义的

这是app.js,我试图访问process.env但没有成功。

我无法在代码中访问process.env。是否有任何关于如何做的工作示例?

2 个答案:

答案 0 :(得分:8)

您可以在root上使用.env文件。

  • start: react-scripts start - 使用.env.development
  • build_staging: "set REACT_APP_ENV=staging & react-scripts build" - 使用.env.staging
  • build: "react-scripts build" - 使用.env.production

答案 1 :(得分:1)

在package.json中,您最终必须在启动脚本中添加NODE_ENV=development。例如。弹出的NODE_ENV=development && node scripts/start.js create-react-app和未{1}的NODE_ENV=development react-scripts start。{/ p>

编辑:显然NODE_ENV=development不是必需的,因为当您运行startbuild脚本时,它已经是硬编码的。根据文档,您的自定义环境变量应具有以下格式REACT_APP*,就像您已经完成的那样。

一个片段会有所帮助。