Reactjs Heroku应用程序(快速反应SSR)崩溃
我正在尝试在Heroku上运行我的简单节点应用程序。Reactjs Heroku应用程序(快速反应SSR)崩溃,reactjs,express,heroku,Reactjs,Express,Heroku,我正在尝试在Heroku上运行我的简单节点应用程序。 以下是我的server.js(起点): 这是包。json: { "name": "medium", "version": "1.0.0", "description": "SSR react static website", "main": "server.js", "scripts": { "build": "node_modules/.bin/webpack", "dev": "node_modules
以下是我的server.js(起点): 这是包。json:
{
"name": "medium",
"version": "1.0.0",
"description": "SSR react static website",
"main": "server.js",
"scripts": {
"build": "node_modules/.bin/webpack",
"dev": "node_modules/.bin/webpack-dev-server",
"lint": "eslint js/**/*.js server.js",
"watch": "node_modules/.bin/webpack --watch"
},
"engines": {
"node": "6.10.3"
},
},
"keywords": [
"react"
],
"dependencies": {
"axios": "^0.16.1",
"babel-loader": "^7.0.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-register": "^6.24.1",
"express": "^4.15.3",
"history": "^4.6.1",
"lodash": "^4.17.4",
"react": "^15.5.4",
"react-disqus-thread": "^0.4.0",
"react-dom": "^15.5.4",
"react-google-maps": "^7.0.0",
"react-icons": "^2.2.5",
"react-redux": "^5.0.5",
"react-router": "^4.1.1",
"react-router-dom": "^4.1.1",
"react-transition-group": "^1.1.3",
"reactstrap": "^4.6.2",
"redux": "^3.6.0",
"redux-thunk": "^2.2.0",
"shortid": "^2.2.8"
...
}
在控制台中,它打印应用程序从xxxx端口启动。但随后应用程序崩溃,并显示以下消息
2017-05-29T10:15:13.241869+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=medium-if-ua.herokuapp.com request_id=bc8294c4-4754-4875-8cdb-d6921212f7bb fwd="178.136.244.44" dyno= connect= service= status=503 bytes= protocol=https
您可以通过在
try/catch
块中包装渲染并发送带有堆栈跟踪的错误来调试该问题:
server.use((req, res) => {
try {
const context = {}
const body = ReactDOMServer.renderToString(
React.createElement(StaticRouter,
{location: req.url, context: context},
React.createElement(App)
)
)
res.write(template({body: body}))
res.end()
} catch (error) {
const result = [error.message, error.stack].join('\r\n')
res.send(result)
}
})
我在server.js中所做的小改动:
1. <代码>服务器。侦听(端口)-被意外删除,这就是节点服务器一直退出的原因
2.将预设添加到巴别塔寄存器package:
毕竟一切正常)请尝试重新启动heroku,因为在这种情况下它似乎对其他人有帮助。不,它没有帮助(请添加日志记录:
heroku config:set LOG\u LEVEL=debug
并查看是什么导致了问题。一些导入或读取文件似乎有问题。
server.use((req, res) => {
try {
const context = {}
const body = ReactDOMServer.renderToString(
React.createElement(StaticRouter,
{location: req.url, context: context},
React.createElement(App)
)
)
res.write(template({body: body}))
res.end()
} catch (error) {
const result = [error.message, error.stack].join('\r\n')
res.send(result)
}
})