• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

185
Vistas
Cómo servir los módulos javascript del cliente en node.js

Soy nuevo programador en node.js. Intento crear un servidor Vanilla en node.js. En mi cliente, usé módulos ES6. cuando inicio mi servidor y busco http://localhost:3000/ en mi navegador, HTML y CSS están cargados pero para javascript tengo este error:

ingrese la descripción de la imagen aquí

Tengo cuatro módulos de javascript para el lado del cliente y en HTML uso este código para cargar módulos de javascript:

 <script type="module" src="js/controller.js" async></script>

Mi código de servidor:

 const http = require('http'); const fs = require('fs'); const path = require('path'); const PORT = 3000; const server = http.createServer(); server.on('request', (req, res) => { let routes = { 'GET': { '/': indexHtml, } } console.log(req.url) let handler = routes[req.method][req.url]; handler = handler || readFile; handler(req, res); }) server.listen(PORT, () => { console.log(`Listening on port ${PORT}...`) }); function indexHtml(req, res) { readFile({ url: '/index.html' }, res); } function readFile(req, res) { var filePath = path.join(__dirname, '../client/', req.url); // console.log(filePath) fs.readFile(filePath, (error, data) => { if (error) { res.writeHead(404); res.write('Not found error 404'); res.end() } else { res.writeHead(200); res.write(data); res.end(); } }) }

¿Cómo puedo solucionar este error y servir módulos de javascript? Muchas gracias por su ayuda.

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

0

Con el comentario @derpirscher, cambio mi función de lector con este código:

 function readFile(req, res) { var filePath = path.join(__dirname, '../client/', req.url); fs.readFile(filePath, (error, data) => { if (error) { res.setHeader('Content-Type', 'text/html'); res.writeHead(404); res.write('Not found error 404'); res.end() } else { const url = req.url === '/' ? '/index.html' : req.url; if (req.url.includes('js')) res.setHeader('Content-Type', 'application/javascript'); if (req.url.includes('css')) res.setHeader('Content-Type', 'text/css'); if (req.url.includes('html')) res.setHeader('Content-Type', 'text/html'); res.writeHead(200); res.write(data); res.end(); } }) }
over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda