Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

217
Vistas
¿Hacer que Express Static deje de estar "pendiente" con el Nodo 14?

Hice esta pregunta hace medio año, pero sigo teniendo el mismo problema: las solicitudes de red Express Static se atascaron en "pendiente"

Tl;dr: Nodo 14 + Modo de visualización de Webpack + Express Static hace que el navegador se cuelgue cada vez que cambio un archivo JS. Esto ocurre en varios navegadores, después de reiniciar el servidor y después de borrar el caché.

Las 2 formas de hacer que el navegador deje de colgarse son:

  • cerrar y volver a abrir la pestaña
  • ir a la página de inicio (http://localhost)

Este problema no ocurre en el Nodo 12. ¿Hay alguna forma de hacer que el navegador deje de bloquearse en el Nodo 14+?

Editar: aquí está mi código Express, trabajando en un repositorio para reproducción:

 const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(cors({ origin: HOME_URL, optionsSuccessStatus: 200, })); app.disable('x-powered-by'); app.use('/api', apiRoutes); app.use('/sse', sseRoute); if (process.env.SERVER !== 'production') { app.use('/', express.static( path.resolve('./build/web'), { dotfiles: 'allow' }, )); app.get('*', async (req, res) => { const indexFile = await fs.promises.readFile( path.resolve('./build/web/index.html'), ); res.send(indexFile.toString()); res.end(); }); } else { app.all('*', (req, res, next) => { if (req.secure || !USE_SSL) { next(); } else { res.redirect(`https://${req.hostname}${req.url}`); } }); app.use('/', express.static(path.resolve('../web'))); const indexFile = fs.readFileSync(path.resolve('../web/index.html')).toString(); app.use('*', async (req, res) => { res.send(indexFile); res.end(); }); }
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Si está sirviendo SPA como contenido estático, puede intentar cambiar esta parte:

 app.use('/', express.static(path.resolve('../web'))); const indexFile = fs.readFileSync(path.resolve('../web/index.html')).toString(); app.use('*', async (req, res) => { res.send(indexFile); res.end(); });

con este:

 const path = require('path'); const rootPath = path.normalize(__dirname); // Serve Angular/React frontend files app.use('/', express.static(rootPath + '/web', { redirect: false })); // Rewrite virtual urls to Angular/React app app.get('*', function (req, res, next) { res.sendFile(path.resolve(rootPath + '/web/index.html')); });
over 4 years ago · Santiago Trujillo Denunciar

0

Creo que se solucionó cambiando app.use('/', express.static( a app.use(express.static(

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda