При развертывании моего приложения nodejs в Heroku появляется «внутренняя ошибка сервера».
Приложение работает локально.
В файле журнала отображается
2020-04-12T20:26:19.601451+00:00 heroku[router]: at=info method=GET path="/" host=hurley-order-application.herokuapp.com request_id=22f65
505-f13d-4bd6-92d3-acffc4d8192a fwd="86.40.232.94" dyno=web.1 connect=1ms service=17ms status=500 bytes=427 protocol=https
2020-04-12T20:26:19.602462+00:00 app[web.1]: ::ffff:10.14.25.48 - - [12/Apr/2020:20:26:19 +0000] "GET / HTTP/1.1" 500 148 "-" "Mozilla/5.
0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
2020-04-12T20:39:02.946265+00:00 app[web.1]: Error: Failed to lookup view "404" in views directory "/app/views"
2020-04-12T20:39:02.946266+00:00 app[web.1]: at Function.render (/app/node_modules/express/lib/application.js:580:17)
2020-04-12T20:39:02.946267+00:00 app[web.1]: at ServerResponse.render (/app/node_modules/express/lib/response.js:1012:7)
2020-04-12T20:39:02.946268+00:00 app[web.1]: at /app/server.js:68:9
Это, очевидно, не является проблемой локально, мне нужно что-то здесь изменить?
Ошибка от Heroku не дает много информации, но:
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_ENV=production
NODE_MODULES_CACHE=true
NODE_VERBOSE=false
.....
-----> Build succeeded!
У меня есть маршрут как следует на сервере. js
app.use(express.static(__dirname + '/views'));
//app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
//HOME
// Define routes.
app.get('/',
function(req, res) {
res.render('404');
// res.render('404', { user: req.user });
});
Пакет. json
{
"name": "lukepackage",
"engines": {
"node": ">=12.0.0"
},
"repository": {
"type": "git",
"url": "https://git.heroku.com/hurley-order-application.git"
},
"version": "1.0.0",
"main": "server.js",
"dependencies": {
"body-parser": "^1.19.0",
"compression": "^1.7.4",
"connect-ensure-login": "^0.1.1",
"ejs": "^3.0.1",
"express": "^4.17.1",
"express-handlebars": "^3.1.0",
"express-session": "^1.17.0",
"mongodb": "^3.5.5",
"mongoose": "^5.9.6",
"morgan": "^1.9.1",
"passport": "^0.4.1",
"passport-local": "^1.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"author": "",
"license": "ISC",
"description": "Hurley Order Application"
}