Reactjs Heroku应用程序(快速反应SSR)崩溃

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

我正在尝试在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/.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)
  }
})