0

Привет Я разрабатываю модуль виджета в моем существующем UI-проекте с угловым основанием. Этот виджет должен содержать информацию в реальном времени.NodeJs Rendering HTML Template + Logic на стороне сервера

Согласно моему дизайну, я хочу отправить html-представление клиенту с сервера узла (возможно, с помощью экспресс-js) при первом запросе. Но поскольку данные должны быть в реальном времени, я не могу позволить себе отправлять полный html каждую минуту (будет дублировать перенос шаблонов каждый раз).

Возможно, что я отправляю шаблон клиенту вместе с набором функций java-script, так что когда клиент хочет, чтобы эти данные были обновлены, он просто вызовет отправленную функцию javascript, и внутренне моя функция javascript будет сделать вызов для отдыха, получить ответ json от сервера и снова повторно заполнить отправленный html.

Таким образом, я планирую иметь первоначальный рендеринг на стороне сервера и последующий рендеринг на клиенте с использованием логики, предоставляемой сервером. Здесь клиент не будет знать, какой виджет это рендеринг и какие функции он имеет. Все они будут контролироваться js, отправленными с сервера.

Пожалуйста, дайте мне знать, как достичь этого, поскольку я нахожу ejs, не служащий этой цели. С ejs мне нужно иметь всю логику только на стороне сервера. В то время как я планирую передать логику от сервера к клиенту во время выполнения.

Также, если у моего проекта есть серьезные проблемы, предложите другие альтернативы. Спасибо

ответ

0

Angular1 не server side rendering дружественный, поскольку он нуждается в браузере DOM. Использование любых шаблонных двигателей не помогло бы, так как созданный ими html не был подхвачен угловым приложением.

Используйте phantomjs безгласный экземпляр браузера для генерации html, запустив ur url1 код приложения, а затем угловой запуск будет выполняться на стороне клиента при загрузке скриптов.

Я бы рекомендовал переход на Angular2 или React как они server side rendering дружественную