当前位置: 首页 > 知识库问答 >
问题:

Heroku构建失败-错误R10(启动超时)

胡越
2023-03-14

我正在尝试部署一个简单的应用程序,没什么大不了的,但我总是收到这个错误。

错误R10(启动超时)-

即使Heroku在60秒前就完成了部署。我也在服务器上设置了process.env.PORT。我在Heroku上有几个应用程序,所以我很熟悉部署。

我事先制作了服务器捆绑文件(src/build/bundle.js)和客户端捆绑文件(src/dist/bundle.js),并将所有内容推送到Heroku。package.json有一个启动脚本应该只是启动服务器。

本地一切正常。

我使用服务器端渲染,我在客户端分离了bundle、vendor和extract css。在服务器端,我也捆绑文件,并使用html webpack插件。不知道这些是否有关联,不应该。

prodServer.js

const APP_PORT: number = conf.APP_PORT
const PORT: any = process.env.PORT || APP_PORT

const app: Express = new Express()

app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')

app.use(Express.static(path.join(__dirname, '../', 'dist'), {maxAge: '1y'}))

app.use((req: Object, res: Object, next: () => void): void => {
  res.set('Cache-Control', 'no-cache')
  return next()
})

app.get('*', (req: Object, res: Object) => {
  res.render('index', {app: req.body, webpack: req.chunk})
})

app.listen(PORT, () => {
  console.log(`
  Express server is up on port ${PORT}
  Production environment
  `)
})

package.json

{
  "name": "QR",
  "version": "1.0.0",
  "description": "Q",
  "main": "prodServer.js",
  "license": "MIT",
  "scripts": {
    "clean": "rm -rf ./src/dist && rm -rf ./src/build",
    "build-client": "cross-env NODE_ENV=production webpack -p --config webpack.config.prod.js",
    "build-server": "cross-env NODE_ENV=production webpack -p --config webpack.config.server.prod.js",
    "start": "cross-env NODE_ENV=production node ./src/build/bundle.js"
  },
...

共有1个答案

沈国安
2023-03-14

解决方案

好的,我设法修好了。问题是明确的。我有一个process.env。NODE_ENV:production,它正在交换process.ENV。端口在我的代码中,所以Heroku无法连接。

 类似资料: