La consola escribe lo siguiente: "Error al cargar la secuencia de comandos del módulo: se esperaba una secuencia de comandos del módulo JavaScript, pero el servidor respondió con un tipo MIME de "". Se aplica una verificación estricta del tipo MIME para las secuencias de comandos del módulo según la especificación HTML". Estoy bastante seguro de que estoy haciendo todo bien, el servidor establece el encabezado en "texto/javascript" al responder la solicitud. Explícitamente console.log lo que especifico en writeHeader y hay "text/javascript" pero el navegador por alguna razón muestra una cadena hueca "".
HTML:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="./StylesCSS/main-style.css"> </head> <body> DOC <script type="module" src="./JScripts/init.js"></script> </body> </html>SERVIDOR:
const fs = require("fs"); const http = require("http"); let { _mainMap } = require("./addresses"); const server = http.createServer((req, res) => { console.log(req.url); let _currentReq; if (_currentReq = _mainMap.get(req.url)) { console.log(_currentReq[1]); res.writeHeader(200, "Content-Type", _currentReq[1]); fs.readFile(_currentReq[0], (err, data) => { if (err) console.log("READ_FILE::ERROR"); res.write(data); res.end(); }); } else { res.writeHeader(404, "Content-Type", "text/html"); fs.readFile(__dirname + "/../404.html", (err, data) => { if (err) console.log("READ_FILE::ERROR"); res.write(data); res.end(); }); } }); server.listen(8080, () => { console.log("LISTENING_TO_PORT_8080"); }); //-----------------------------ANOTHER-MODULE---------------------------------------------- let _dir = __dirname; let _mainMap = new Map(); module.exports = { _mainMap: _mainMap }; //easy to init arr let _hashArr = [ ["/", _dir + "/../main.html", "text/html"], ["/JScripts/init.js", _dir + "/../JScripts/init.js", "text/javascript"], ["/StylesCSS/main-style.css", _dir + "/../StylesCSS/main-style.css", "text/css"] ]; //copy values from _hashArr to _mainMap for (let i = 0; i < _hashArr.length; i++) { _mainMap.set(_hashArr[i][0], [_hashArr[i][1], _hashArr[i][2]]); }El archivo init.js en sí está en blanco