Как SPA рендерить на сервере и передавать модель?

Обычно JavaScript SPA приложение рендерится на стороне клиента (например Angular). Т.е. при первом запросе отдаётся HTML в котором происходит запуск приложения и его отрисовка, запросы к серверу и т.д. На самом деле это большая проблема, что пользователю приходится ждать, по ка всё это происходит. Можно конечно рендерить страничку на стороне сервера и возвращать уже готоывй HTML. А как можно возвратить готовую HTML страничку и модель которую запросили из БД и которую потом будет использовать приложение?
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MrCheater
Full-Stack JS. В прошлом программист-олимпиадник
На самом деле нормальных решений этой задачи нет.
Ближе всего - велосипеды с использованием React. (почитайте про изоморфные приложения)
Но и там куча проблем:
1) прокидывание данных с сервера на клиент при первой загрузке приложения - нет рекомендованного подхода
2) не решена проблема с тем, как вставлять на страницу только тот CSS-который нужен для отображения, а остальной CSS грузить асинхронно
3) да и роутеры пока не очень круты. Могу привести пример - для авторизованного пользователя должны быть доступны одни страницы, а не для авторизованного - другие (а на месте некоторых прежних должны стоять редиректы) - вот хрен сделаешь такое, без велосипедостроительства

С Angular всё вообще грустно. Там разве только phantom-js городить, но это сомнительное решение вообще (из ряда - как сначала создать себе проблемы, а потом через боль преодолевать их)
Ответ написан
Ваш ответ на вопрос

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

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