簡體   English   中英

Heroku Node.js 應用程序在本地運行,但在部署時不運行

[英]Heroku Node.js App Works Locally but not when deployed

我有一個運行良好的 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;
};

嗯,我真的想通了。 結果我沒有在 package.json 中列出我所有的依賴項。

教訓:安裝節點包時總是使用--save

否則你會過得很糟糕。

該代碼塊中的任何內容都沒有本質上被破壞。

只需檢查日志,看看是什么給了你錯誤:

heroku logs --tail

嘗試重新編譯( ng build -prod )Angular 端並再次部署它。 另請觀看MEAN Stack Front To Back [第 10 部分] - 應用部署到 Heroku

我用 Node/Heroku 退出狀態 1 和狀態 H10 等以許多不同的形式處理了這個問題。我搜索和搜索嘗試了從清除節點緩存到通過 git 回滾所有內容並重新開始的所有方法。 好像我的 node_modules 一直在某個地方更新,我會從出錯跳到本地運行,再到部署后崩潰。 唯一最終有效的是在我的 .gitignore 文件中“不檢查生成的目錄”,如果在這種情況下對其他人有效,這似乎是一個愚蠢而明顯的解決方案。 可以在此處找到不同的故障排除步驟https://devcenter.heroku.com/articles/troubleshooting-node-deploys

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM