我正在尝试将简单的 CRUD 节点 js API 部署到 heroku,但在 h10 时总是使应用程序崩溃,
它在本地 https://i.stack.imgur.com/56GNF.png 中工作。但是当我部署它 https://i.stack.imgur.com/KbZzJ.png 时出现此错误。
Procfile
web:node app.js
我已经尝试过 web: node app.js
、web: yarn start
、web:yarn start
并且仍然出现相同的错误
Package.JSON
{
"name": "servis-invoice",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "nodemon app.js",
"start": "node app.js"
},
"dependencies": {
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.11.18",
"mongoose-delete": "^0.5.3",
"nodemon": "^2.0.7"
}
}
我的配置变量:https://i.stack.imgur.com/K7f0K.jpg
我是否遗漏了任何步骤?
我正在使用yarn,但我不知道为什么heroku在部署中使用npm start?
答案 0 :(得分:0)
在日志中您会看到(著名的)错误 web process failed to bind to $port
,这意味着您的应用程序未绑定到 Heroku 提供的端口
使用process.env.PORT
定义应用监听的端口
请参阅 Heroku: Why is my Node.js app crashing with an R10 error? NodeJS 文档