process.env.NODE_ENV ===即使在生产中也“发展”

时间:2019-12-30 17:24:49

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

我要部署一个React应用程序(由Create React App创建)和一个带有Heroku的Node服务器,

我做到了,但是我的应用无法从服务器获取数据,

在生产中,我的process.env.NODE_ENV等于“开发中”,这会在我的代码中引起很多错误,

您知道什么可以使process.env.NODE_ENV始终处于“开发”状态吗?在构建时,应该将这个环境变量切换为“生产”,不是吗?

3 个答案:

答案 0 :(得分:0)

您的package.json添加它。

  "scripts": {
    "start": "export NODE_ENV=development; {your start code}",

答案 1 :(得分:0)

您可以根据环境设置环境变量,在这种情况下,是在Heroku中:https://devcenter.heroku.com/articles/config-vars#using-the-heroku-dashboard

如果要确保build始终以相同的NODE_ENV运行,则可以遵循@seunggabi的回答。在这种情况下,我还将使用cross-env使其跨平台工作。可以在heroku-postbuild任务(在&&之后)上强制执行每个进程的变量。

答案 2 :(得分:0)

您可以使用env-cmd来控制您的环境。它们使您可以轻松在本地开发,测试,过渡,UAT或生产之间进行切换。

您可以参考此article。这对我非常有帮助