我有一个应用程序,我已经写在Node JS中,尽可能只使用本地主机,并且需要将其部署到Heroku上。错误H12将Express JS应用程序部署到Heroku
主要server.js文件可以在这里看到:http://pastebin.com/6VGk8ESz 要了解我们如何挂钩的路由鉴于此LIB文件:http://pastebin.com/uirpUFkq
问题是应用本地工作正常,但当我把它上传到我的Heroku总是得到以下回应:
at =错误代码= H12 desc =“请求超时”方法= GET路径=/host = careboxnode.herokuapp.com fwd =“64.129.24.13”dyno = web.1 connect = 8ms服务= 30002毫秒状态= 503字节= 0
我把console.log()语句在我的代码它似乎运行没有错误。问题是,res.render和res.send都不会出于某种原因而将任何内容发送回Heroku进行投放,从而导致页面超时。我没有得到任何正式的错误或例外,所有的文件都被正常读取。显示内容似乎不起作用。
这是一个相当奇怪的问题,所以我非常感谢任何人有任何帮助,感谢一堆! :)
良好的渔获物,不幸的是这些似乎并没有解决问题。我正在使用process.env.PORT作为Web端口,并修复了MongoDB。仍然收到错误H12。有趣的是索引页根本不使用MongoDB,它仍然不会加载。 不过,谢谢你的帮助。你以后肯定会遇到一个潜在的问题。 :) – Fallout2man
在执行'heroku restart'之前,在另一个窗口中执行'heroku logs -t'。你是否看到'Express server listen on port 63522'的console.log消息 – dankohn
原来你是对的,我刚开始并没有意识到你有多么正确。 我不得不完全重写我的MongoDB代码来使用Db.Connect,而不是仅仅做新的数据库('名称',新的服务器(等));因为这是我发现将完整数据库URL传递给Mongo Client的唯一方式。 将所有代码重新分解并确保异步方法具有适当的回调后,我的应用程序终于起作用了! 谢谢! :) – Fallout2man