Как отдавать json и рендерить страницу по одному запросу?

Делаю проект nodejs+mongo+angular. На один запрос router.get('/') хочу рендерить станицу и отдавать json с данными из монго.

Те нужно чтобы работало res.json(users) и res.render('index') одновременно + users оказался в скопе ангуляра.

Это возможно?
  • Вопрос задан
  • 2494 просмотра
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Ну отдавайте отрендренные данные в json но одним запросом отдвать два разных тела у вас явно не получится... Либо придется опять же на клиенте разруливать, а в ответе пометить ContentType как свой какой-то типа application/json+html и разруливать в глобальных интерцепторах. Я только не понимаю зачем вы вообще что-то для angular приложения "пререндрите". Пусть на клиенте рендрится или вы думаете что это будет сильно медленне? Если у вас уже проблемы с производительностью и вам может помоч пререндер значит у вас можно оптимизировать биндинги (если у вас angular 1,3 конечно). Словом я сомневаюсь что именно это слабое место. Опять же можно попробовать рендрить на клиенте через ReactJS с его виртуальным DOM хотя с оптимизированными биндингами особо выйгрыша это не даст.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы