После курса angular2 я закончил со ссылкой на следующий фрагмент кода сервера backend node.js, когда я пытаюсь выполнить конкурсы с внешнего интерфейса:(угловое 2) конфигурирование путей node.js для возврата index.html с дополнительным JSON
router.get('/', function(req,res,next) { // actually /contests/
Contest.find()
.populate('user', 'firstName')
.exec(function(err, docs) {
if (err) {
return res.status(404).json({
title: 'Error !',
error: err
});
}
res.status(200).json({
message: 'Success',
obj: docs
});
});
});
Что хорошо работает, когда я достигаю его из своего приложения, но если я попытаюсь получить к нему доступ, просто набрав url: .../конкурсы/и нажав enter, я получаю только объекты JSON, отображаемые на странице , что я не намерен делать с обычным приложением.
Что я хочу сделать, это вернуть правильную страницу (= render index.html файл для всех страниц (angular2 SPA)), но также иметь некоторые данные JSON, прикрепленные к ответу, к которому я мог бы получить доступ в интерфейсе. Есть ли способ достичь этого? Что-то вроде:
res.render('index', {message: 'Success', obj: docs}); // Not working
вместо того, чтобы просто
res.json({ ... })
Для маршрутов, которые не содержат GETs, которые возвращают JSON, все работает.
Я не понимаю, является ли фрагмент кода ошибкой архитектуры или я просто глуп, так как я не могу найти информацию об этом во время поиска в Интернете. Я относительно новичок в node.js.
Любая помощь, ввод или указатели будут оценены!