我想将我的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应用设置为生产模式吗?这是npm run build的问题吗?非常感谢,我真的不知道这可能来自哪里...
在heroku中配置环境变量时,您必须附加REACT_APP_VARIABLENAME,然后设置其值,否则您将无法访问env变量。
看看:https://elements.heroku.com/buildpacks/mars/create-react-app-buildpack
您可以在heroku客户端中执行此操作
我在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应用,它似乎可以正常工作