Heroku Node.js App在本地工作,但在部署时不能

时间:2015-05-13 06:50:08

标签: angularjs node.js mongodb heroku express

我有一个运行得很好的MEAN Stack Heroku应用程序。但后来我添加了一个新功能:

app.get('/userCreated/:id', function(req, res) {

if (req.cookies.userCreated == req.params.id) { 
    res.send(true);
}
else {
    res.send(false);
}

});

现在我在加载应用时遇到503(服务不可用)错误。任何人都知道为什么会这样?

我正在使用Angular和$ http.get()来访问此Express.js函数...

编辑:这是我的客户端Angular代码,它正在调用服务器:

var deferred = $q.defer();
function thisUserCreated(id) {
$http.get('/userCreated/' + id).success(function(data) {
deferred.resolve(data);
// returns boolean indicating whether the current user has the proper cookie
// saying this user created the given group
});
return deferred.promise;
};

4 个答案:

答案 0 :(得分:3)

嗯,我实际上已经弄明白了。事实证明我没有在package.json中列出所有依赖项。

此处的课程:安装节点包时始终使用--save

或者你会度过一段美好的时光。

答案 1 :(得分:1)

该代码块中的任何内容都不会被破坏。

只需检查日志,看看有什么错误:

heroku logs --tail

答案 2 :(得分:0)

尝试重新编译(ng build -prod)Angular端并再次部署它。另请注意MEAN Stack Front To Back [Part 10] - App Deployment to Heroku

希望它有所帮助

答案 3 :(得分:0)

我用Node / Heroku退出状态1和状态H10等以多种形式处理了此问题。我进行了搜索,并尝试了从清除节点缓存到通过git回滚并重新开始的所有方法。好像我的node_modules一直在更新,我从获取错误跳转到在本地运行到部署后崩溃。唯一有效的方法是“不检入.gitignore文件中的生成目录”,如果在这种情况下对其他人有用,这似乎是一个愚蠢而明显的解决方案。可以在此处https://devcenter.heroku.com/articles/troubleshooting-node-deploys

中找到不同的故障排除步骤。