[英]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.