我已经完成了在我的本地计算机上运行完美的NodeJS应用程序。我试图将其部署到Heroku中,但是当我卷曲它时,它会说"应用程序错误"。
这是我的package.js:
{
"name": "maybe",
"version": "0.0.1",
"description": "desc",
"repository": "local heroku",
"author": "me",
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
},
"dependencies": {
"express": "3.0.0rc2",
"request": "2.9.202",
"jade": "~0.27.2",
"path": "~0.4.9",
"aws-sdk": "2.0.23",
"knox": "~0.3.1"
},
"scripts": {
"start": "web.js"
}
}
如您所见,我使用aws-sdk将文件上传到S3。
如果我执行" heroku运行bash",我可以"节点server.js"它似乎运行正常。
我的端口是" port = process.env.PORT || 3000;",作为我的env变量,PORT = 3000。
所以,任何关于什么都出错的想法????
提前谢谢。
答案 0 :(得分:2)
您是否定义了一个Procfile,以便Heroku知道要运行哪个文件?
请参阅此处 - https://devcenter.heroku.com/articles/getting-started-with-nodejs#define-a-procfile
答案 1 :(得分:1)
您通常可以通过检查Heroku日志找出原因不起作用的原因。如果您打开终端并运行:
heroku ps:restart; heroku logs --tail
这将重启你的应用程序,并打开你的日志文件,这样你就可以看到Heroku给你的错误信息。通过这种方式,您可以看到问题所在并快速解决问题=)