Профиль пользователя заблокирован сроком «навсегда» без указания причины
Ответы пользователя по тегу Node.js
  • Почему не работает 'path' (Node.js)?

    @MidNightElf_1_10
    неуверенный в себе фронтендер который хочет в бэк
    Что касается обращения к`publichtml/main` то это не сработает поскольку вы не отслеживаете этот путь. Но если так надо, то просто сделайте так let pathname = path.join(__dirname + req.url) т.е. без вашего base
    const http = require('http');
    const path = require('path');
    
    const fs = require('fs');
    
    var base = '/publicHtml';
    
    http.createServer(function (req, res) {
        // let pathname = base + req.url + '.html';
        let pathname = path.join(__dirname + base + req.url); // используйте path.join()
    
        let fileExt = path.extname(pathname); // получаю тип файла из строки в pathname
    
        if (!fileExt) // если тип файла не обнаружен
            pathname += '.html'; // добавить его в конце строки (соответсвенно к файлу)
    
      // все что ниже не изменяется
      if (path.basename(pathname) == null) {
        res.writeHead(404);
        res.write('Страница не найдена 404\n');
        res.end();
      }
        else{
        let file = fs.createReadStream(pathname);
        res.setHeader('Content-type', 'text/html');
        res.statusCode = 200;
    
        file.on('open',function () {
          file.pipe(res);
        });
    
        file.on('error', function (err) {
          console.log(err);
        });
      }
        	// body...
    }).listen(3000);
    console.log('Server run on port 3000');
    Ответ написан