如何为生产配置React应用

时间:2019-10-10 16:29:45

标签: reactjs heroku

我想将我的React应用程序部署到生产环境(使用heroku)。部署应用后,React开发工具会指示我的应用正在开发模式下运行

我将应用程序推送到了heroku:https://lesamisdhubert.herokuapp.com/

我试图设置环境变量: heroku config:set NODE_ENV=production

但是,当我console.log(process.env.NODE_ENV)时,它将返回开发状态

在投入生产之前,我也尝试过npm run build,但没有成功

这是我在package.json文件中的脚本:

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

然而console.log('node env --->', process.env.NODE_ENV);返回“发展”

有人知道我如何将React App设置为生产模式吗?这是npm run build的问题吗? 非常感谢,我真的不知道这可能来自...

2 个答案:

答案 0 :(得分:0)

在heroku中配置环境变量时,您必须附加REACT_APP_VARIABLENAME,然后设置其值,否则您将无法访问env变量。

看看:https://github.com/mars/create-react-app-buildpack#compile-time-configuration

您可以在heroku客户端中执行此操作


答案 1 :(得分:0)

我替换为package.json:

"scripts": {
    "dev": "react-scripts start",
    "start": "serve -s build",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "heroku-postbuild": "npm run build"
  }

我还创建了一个新的heroku应用程序,它似乎可以正常工作