Встречается на собеседованиях • сегодня
Как реализовать серверный рендеринг без Nuxt.js
Для SSR без Nuxt.js можно использовать Express + React/Vue с рендерингом на сервере. Основные шаги:
1. Настроить Express сервер:
```js
const express = require('express');
const ReactDOMServer = require('react-dom/server');
const app = express();
app.get('*', (req, res) => {
const html = ReactDOMServer.renderToString();
res.send(`
, document.getElementById('root'));
```
Ключевые моменты:
- Сервер генерирует HTML при первом запросе
- Клиентский JS "оживляет" (гидратирует) приложение
- Нужно настраивать Webpack для серверного и клиентского бандлов
- Для маршрутизации использовать `StaticRouter` (React) или `vue-router` в SSR-режиме
Это базовый подход, в реальных проектах стоит добавить кэширование, обработку данных и ошибок.
${html}
`);
});
```
2. Для Vue аналогично использовать `vue-server-renderer`:
```js
const renderer = require('vue-server-renderer').createRenderer();
renderer.renderToString(app, (err, html) => {
// отправить html
});
```
3. Собрать клиентский бандл с гидратацией:
```js
ReactDOM.hydrate(
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы