=====web-server с html страницами===== Со стрелочными функциями ответ брацзеру можно переавать с версткой, обычная функция ее не преобразует и выводит ответ вместе с тегами const http = require('http'); const fs = require('fs'); const path = require('path'); /** * calback функция - обработчик запросов , * request - запрос * response - ответ */ const server = http.createServer((request, response) => { console.log(request.url);//вернет в консоль url - http://127.0.0.1:3000/adda if(request.method === 'GET'){ /** * Вернуть заголовок браузеру * первый параметр заголовок * второй параметр заголовок */ response.writeHead(200, { 'Content-type': 'text/html; charset=utf-8' }); //Главная страница шаблон index.html if(request.url === '/'){ fs.readFile(//Читаем файл path.join(__dirname, 'template', 'index.html'),//Путь к шаблону 'utf-8', (err, data) => {//calback функция обрабатывае даннве из шаблона if(err){ throw new Error(err); } response.end(data); } ); }//страница about шаблон about.html else if(request.url === '/about'){ fs.readFile(//Читаем файл path.join(__dirname, 'template', 'about.html'),//Путь к шаблону 'utf-8',//Кодировка (err, data) => {//calback функция обрабатывае даннве из шаблона if(err){ throw new Error(err); } response.end(data);//Отдаем страницу браузеру } ); } } else if(request.method === 'POST'){//если пришел post запрос const body = [];//Массив куда будет складывать ответ request.on('data', data => {//Событие обрабатывает данные из формы body.push(Buffer.from(data)); //пушим в массив получаемый буфер, // это необходимо так как сообщение получем не все сразу а частями });//Слушаем событие data - буфер request.on('end', () => {//Данные от браузера полность приняты const message = body.toString().split('=')[1]; response.writeHead(200, {//Отдадим заголовок в нужной кодировке 'Content-type': 'text/html; charset=utf-8' }); //Вернем ответ об удачной отправке формы response.end(`

ваше сообение принято: ${message}

`); }); } }); /** * Установить прослушку на 3000 порт */ server.listen(3000, () => { console.log('server start on port 3000'); });