Tengo este código en mi server/server.js
import path from 'path'; import fs from 'fs'; import React from 'react'; import ReactDOMServer from 'react-dom/server'; import express from 'express'; import App from '../src/App'; const PORT = process.env.PORT || 1234; const app = express(); // ... app.get('/', (req, res) => { const app = ReactDOMServer.renderToString(<App />); const indexFile = path.resolve('./build/index.html'); fs.readFile(indexFile, 'utf8', (err, data) => { if (err) { console.error('Something went wrong:', err); return res.status(500).send('Oops, better luck next time!'); } return res.send( data.replace('<div id="root"></div>', `<div id="root">${app}</div>`) ); }); }); app.use(express.static('./build')); app.listen(PORT, () => { console.log(`Server is listening on port ${PORT}`); });También servidor/index.js
require('ignore-styles') require('@babel/register')({ ignore: [/(node_module)/], presets: ['@babel/preset-env', '@babel/preset-react'] }) require('./server')Mientras se ejecuta en el puerto, las imágenes no se cargan, css se procesa en el lado del servidor.
Versión de reacción: 17
También me he hidratado en index.js
Cualquier respuesta será de gran ayuda.
Gracias.
encontré una solución
crea una carpeta de imágenes y luego agrega esta línea
app.use('/images', express.static(path.join(__dirname, '../images')))Luego, donde estamos usando imágenes, simplemente escriba http://domain/images/imageName
Gracias