Не удалось загрузить сценарий модуля: Ожидался сценарий модуля JavaScript

#javascript #node.js #module #mime

Вопрос:

Консоль пишет следующее: «Не удалось загрузить сценарий модуля: ожидался сценарий модуля JavaScript, но сервер ответил типом MIME «». Строгая проверка типа MIME применяется для сценариев модулей в соответствии со спецификацией HTML». Я почти уверен, что все делаю правильно, сервер устанавливает заголовок «текст/javascript» при ответе на запрос. Я откровенно утешаю.запишите то, что я указываю в WriteHeader, и там есть «текст/javascript», но браузер по какой-то причине показывает пустую строку «».

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>
 

сервер:

 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]]);
}
 

init.js сам файл пустой