Искам всичките ми заявки да бъдат пренасочени към изглед index.ejs, намиращ се в папката Views. В моя файл routes.js добавих това:
module.exports = function (app) {
app.get('/', function(req, res) {
res.render('index', {title: "TODO"})
});
}
Индексният изглед съдържа всички маркировки на страницата, тъй като ще бъде SPA, така че динамично ще сменям изгледите от страна на клиента.
Проблемът е, че препращам към скриптове, намиращи се в публичната папка и те не са намерени, получавам 404:
script src="public/app/app.js"></script>
Мисля, че е защото Express не знае как да сървърира файла. Уточних, че всичко в публичната папка трябва да са статични файлове:
app.use(express.static(config.root + '/public'))
Сега, ако не използвам ejs шаблон и ако използвам файл index.html в публичната папка вместо изглед, работи добре. Просто трябва да направя това вместо това:
app.get('*', function(req, res) {
res.sendfile('./public/index.html');
});
Но искам да се възползвам от шаблона ejs за добавяне на пакети към страницата, вместо да добавям скриптове един по един.
И така, какво не е наред с моя код? Как мога да разреша този 404 на javascript файловете?