Как рендерить страницу реакта в mern?
делаю бэк на Ноде, фронт на реакте. Раньше когда не использовал реакт просто передавал в res.render страницу hbs, но каким образом сейчас передать в render страницу index.html что находится в папке frontend/public?
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
В случае mern, и если вы не делаете SSR-приложение, рендеринг выполняется на стороне клиента, так что всю статику вам нужно отдавать как статику.
Примерно так:
const express = require('express');
const app = express();
const path = require('path');
app.use('/', express.static(path.join(__dirname, 'frontend', 'public')));
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'frontend', 'public', 'index.html'));
});
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
});
Естественно, это - общий подход. Вам нужно адаптировать его под свой проект.