[英]“Cannot GET /” - deploy Node.js project on Heroku
我創建了一個簡單的應用程序來了解有關node.js
的一些信息。 在我的localhost
上,它按預期工作,沒有錯誤。
當我嘗試將項目推送到 heroku 時,出現以下錯誤(通過運行heroku logs
):
2020-04-12T10:37:36.270547+00:00 heroku[router]: at=info method=GET path="/"
host=myproject.herokuapp.com request_id=4d9d211f-cb87-473e-8149-a827b407336d fwd="83.135.100.19"
dyno=web.1 connect=0ms service=10ms status=404 bytes=360 protocol=https
我的服務器看起來像這樣
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(path.resolve('./public')));
app.use(cookieParser());
app.use('/', routes);
app.listen(process.env.PORT, () => {
console.log(`Server is listening on port ${process.env.PORT}`);
})
路由文件(在routes/index.js
下)看起來像這樣
const router = require('express').Router();
const newsController = require('../controllers/newsController');
const quotesCookie = require('./../middleware/quotesCookie');
router.get('/', quotesCookie, newsController.renderHome);
router.get('/category/:category/:page', newsController.renderCategory);
router.get('/search', newsController.renderSearch);
router.get('/sources', newsController.renderSources);
router.get('/*', newsController.renderError);
module.exports = router;
我將 heroku 儀表板中的config vars
設置為我的.env
文件的變量,所以我不知道為什么這不起作用。 我的public
文件夾僅包含一些 static 圖像,因此我將其添加到git
並且不要忽略它。 日志僅顯示上述錯誤。
我想這和往常一樣,我錯過了一些明顯的東西。 有人有想法嗎? 提前致謝。
我在您的路線中看到了一個中間件quotesCookies。 請嘗試將其刪除並使用以下行
router.get('/', newsController.renderHome);`
希望它會奏效。 您可以通過檢查 controller function newsController.renderHome
的代碼並放置一些 console.log() 來查看它到底在做什么,並可以使用heroku logs --tail
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.