Node.js React应用程序在本地运行,在Heroku错误代码=H10时崩溃
该应用程序在windows中的“npm启动”后运行良好,但当我从github拉到Heroku时,我只得到一个错误 package.json:Node.js React应用程序在本地运行,在Heroku错误代码=H10时崩溃,node.js,reactjs,heroku,Node.js,Reactjs,Heroku,该应用程序在windows中的“npm启动”后运行良好,但当我从github拉到Heroku时,我只得到一个错误 package.json: { "name": "tic-tac-toe", "version": "0.1.0", "dependencies": { "react": "^15.5.4", "react-dom": "^15.5.4" }, "engines": { "node": "6.10.3", "npm":"3
{
"name": "tic-tac-toe",
"version": "0.1.0",
"dependencies": {
"react": "^15.5.4",
"react-dom": "^15.5.4"
},
"engines": {
"node": "6.10.3",
"npm":"3.10.10"
},
"devDependencies": {
"react-scripts": "1.0.7"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
以及错误日志:
app[web.1]: npm ERR! npm bugs tic-tac-toe
app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
app[web.1]: npm ERR! npm owner ls tic-tac-toe
app[web.1]: npm ERR! There is likely additional logging output above.
app[web.1]:
app[web.1]: npm ERR! Please include the following file with any support request:
app[web.1]: npm ERR! /app/npm-debug.log
heroku[web.1]: Process exited with status 1
heroku[web.1]: State changed from starting to crashed
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=react-tac-to.herokuapp.com request_id=c3cf2461-1989-4734-a7d5-157eb81c9643 fwd="24.29.73.46" dyno= connect= service= status=503 bytes= protocol=https
heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=react-tac-to.herokuapp.com request_id=05109629-cbb4-4927-9d13-8a3a37fedb93 fwd="24.29.73.46" dyno= connect= service= status=503 bytes= protocol=https
问题的本质使我认为这是基于配置的,而不是在主app.js代码中。
主文件稍长,如果您想查看,我将在Github上链接到它:
Heroku默认情况下不安装devdependency:。将react脚本模块设置为始终安装或关闭Heroku上的生产模式 只需
npm i serve
安装serve,或者您可以使用纱线代替npm
您可以在package.json文件中更改脚本,这似乎是由react更新引起的
"scripts": {
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"heroku-postbuild": "npm run build"}
希望它能解决您的问题。我也遇到了同样的问题,但上面的解决方案不适用于我在Heroku中的react应用程序。 我已经更新了构建包来创建react应用程序,它对我很有用
heroku buildpacks:set mars/create react app我也面临同样的问题,它对我很有效 在应用程序中添加“服务” 例如:
npm添加发球或纱线添加发球
在package.json中更改脚本后
"scripts": {
"dev": "react-scripts start",
"start": "serve -s build",
"build": "react-scripts build",
"heroku-postbuild": "npm run build"
}
1.npm安装服务—保存
或warn安装服务—保存
"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"
}
2.)复制了上述代码,以替代我的package.json文件中以前的代码“scripts”
3.git提交-am“新更新”
4.git推送heroku主机
- 注意:常见问题是缺少第一步
react scripts
安装正确?我相信heroku默认情况下会忽略devdependency
模块。将其移动到依赖项列表可能能够解决此问题。谢谢@hainq,这解决了我的问题。.我遇到了相同的问题,但没有得到您的解决方案。您能详细说明一下吗?Vasu,我在一个基本上干净的create react应用程序中遇到了相同的问题。以下是我必须更改的内容:将“heroku postbuild”添加到脚本中:“npm运行构建”
,然后运行“添加服务-保存”将“服务”命令添加到依赖项中,然后根据下面的Sufyan回答,将“开始”脚本更改为:“开始”:“服务-的构建”
。我希望这有帮助。谢谢你,马克。可以通过“脚本”来添加,您指的是package.json
文件的一部分。工作起来像个charmwow!这终于解决了我的问题!唯一的问题是我不知道为什么…@Dardar,如果第一步是你的情况,那是因为Heroku要求对你的依赖项提供“服务”,那么它将能够处理。谢谢!这为我解决了这个问题