2017-06-06 131 views
2

我试图按照从反应创建应用程序内添加ENV变量没有成功文档:阵营ENV变量与.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(创建与创建应用程序的反应)让我不确定

这是我想没有成功访问process.env app.js。

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

+0

是NODE_ENV在你的路径定义? –

+0

不,但定义了.env作为默认值。 – Ante

+0

另外,尝试使用定义的NODE_ENV,但仍然不起作用。 – Ante

回答

1

在您的package.json中,您最终必须在启动脚本中添加NODE_ENV=development。例如。 NODE_ENV=development && node scripts/start.js弹出create-react-appNODE_ENV=development react-scripts start为未注射的一个。

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

一个片段会有帮助。

+0

问题在于,我在通过监视变量在调试模式下尝试读取它。出于某种原因,它不起作用。通过简单的控制台日志记录,它可以工作 – Ante

2

您可以在根上使用.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