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

1.2K
Vistas
NodeJS y React: se genera bundle.js pero aparece el error 404 (no se pudo cargar el recurso)

Tengo un proyecto de práctica muy básico: tengo algo de contenido inicial (una cadena '...') y después de que se carga el entorno JS, quiero que React se haga cargo de div id="root y reemplace el contenido js con el reaccionar contenido (una cadena 'hola reaccionar').

Hago un npm run dev y se generan un bundle.js y un bundle.js.map. Luego hago un inicio de npm, pero cuando obtengo una vista previa de la página, solo existe el contenido de JS y, tras una inspección más detallada, el script React ni siquiera está cargado. Recibo un error 404 de falla al cargar el recurso en bundle.js a pesar de que el archivo existe en /public

Aquí está mi webpack.config.js:

 module.exports = { entry: './src/index.js', output: { path: __dirname + '/public', filename: 'bundle.js' }, module: { loaders: [ { test: /\.json$/, loader: 'json-loader' }, { test: /\.js$/, loader: 'babel-loader' } ] } };

Aquí está mi .babelrc:

 { "presets": ["react", "es2015", "stage-2"] }

Aquí está /src/index.js que contiene reactdom.render:

 import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render( React.createElement('h2', null, 'Hello React'), document.getElementById('root') );

Aquí está /public/index.ejs:

 <%- include('header') -%> <div id="root"> <%- content -%> </div> <%- include('footer') -%>

Finalmente, aquí está mi server.js básico en el directorio raíz:

 import config from './config'; import apiRouter from './api'; import express from 'express'; const server = express(); server.set('view engine', 'ejs'); server.get('/', (req, res) => { res.render('index', { content: '...' }); }); server.use('/api', apiRouter); server.use(express.static(__dirname + 'public')); server.listen(config.port, () => { console.log('Express is listening on port ' + config.port); });

He intentado buscar por todas partes una respuesta, pero no he tenido suerte. ¡Cualquier comentario es muy apreciado! ¡Gracias!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

SOLUCIONADO: Esta declaración: server.use(express.static(__dirname + 'public'));

necesita ser

server.use(express.static('public'));

para que se entregue bundle.js

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