лайк за инфу, Timur Shemsedinov говорит что надо, но нужно понимать, что это контент для людей, которые только знакомятся с nodejs. Конечно же через switch будет легче понять, а с мапами и другими чудесами, можно и самим переделать, попрактиковаться. В общем здорово, спасибо)
Делать роутинг через swith/case плохо, это хардкод роутов прямо в контроллере, лучше сделайте коллекцию new Map где роутам будет соответствовать функция. Кроме того, req и res не должны попадать в функцию-обработчик эндпоинта, чтобы отделить бизнес-логику от протокола. Заметьте, у вас в роуте /about-us делается end, а потом все равно делается fs.readFile и еще раз res.end(); Контроллер уже превратился в портянку.
@@YauhenKavalchuk Если нативную реализацию сделать через Map или Object, то она будет более удобной и чем express, который очевидно является фракталом говнокода
Если я правильно понял то таким вариантом можно отправить браузеру только сам html, когда до html добавляю скрип з scr на файл JS () то браузер не получает этот JS (app.js) и скрипт не работает :( . Это можно как то исправить ? Спасибо !
Думаю у вас проблема в том, что блокируются ресурсы описанные в HTML файле. Посмотрите урок по мидлварам - там я показываю решение проблемы для стилей. Вы можете использовать аналогичный подход и для JS
@@YauhenKavalchuk закинул весь js между тегами , некрасиво канешно, но роботает, жаль пока нет времени на что то лучше, ещё 3 задания осталось на ТЗ сделать, а скоро дедлайн. И спасибо за ответ 👍
Евгений, доброго дня, подскажи пожалуйста, в чем причина может быть, что при загрузке страницы он выдает 500 ошибки (код аналогичен тому, что в уроке) на подключаемые css и js файлы? Они лежат не в корне, а в папках css и js соответственно. Файл индекс из корня грузится норм при этом
Насколько я понимаю статус коды можно вручную не указыать в коде, так как они автоматом в респоньсе отдают адекватные значения. Вручную делается обычно переназначение ( например githhub rest api в некотрых случаях намеренно вместо forbidden возвращает 404 not found ). Подкорректируйте меня и добавьте пояснение.
Доброго времени суток, я не очень понимаю почему if (req.url = "/") з одним знаком равенства, а не з тремя if (req.url === "/"), ясли кто подскажет буду благодарный!
лайк за инфу,
Timur Shemsedinov говорит что надо, но нужно понимать, что это контент для людей, которые только знакомятся с nodejs. Конечно же через switch будет легче понять, а с мапами и другими чудесами, можно и самим переделать, попрактиковаться.
В общем здорово, спасибо)
Пожалуйста)
Интересно, продолжай в том же духе!
Спасибо, конечно
түсіне білген адамға өте қызықты сабақ.керемет
Спасибо за отзыв
Делать роутинг через swith/case плохо, это хардкод роутов прямо в контроллере, лучше сделайте коллекцию new Map где роутам будет соответствовать функция. Кроме того, req и res не должны попадать в функцию-обработчик эндпоинта, чтобы отделить бизнес-логику от протокола. Заметьте, у вас в роуте /about-us делается end, а потом все равно делается fs.readFile и еще раз res.end(); Контроллер уже превратился в портянку.
Этот пример я сделал специально, что бы показать что нативная реализация не очень удобна. В следующем видео роутер будет переписан с помощью express
@@YauhenKavalchuk Если нативную реализацию сделать через Map или Object, то она будет более удобной и чем express, который очевидно является фракталом говнокода
@@TimurShemsedinov ты им десятки докладов и лекций сделаешь, а они еще 20 лет будут говнокодить на мидлварях, что тут поделаешь
@@YauhenKavalchuk ну switch/case сам по себе антипаттерн
@@YauhenKavalchuk Делай как видишь. Норм. Дякую.
Дякую за урок!
Пожалуйста)
Спасибо! Доходчивое объяснение.
Пожалуйста
офигенный контент, спасибо
Пожалуйста
Классный позновательный урок, спасибо большое за видос. Вопрос - какой экстеншен используешь в VS Code - для разметки кода?
На канале есть плейлист «подборка полезных ресурсов» - там первое видео - все плагины которые я использую
Tommy Arthur John - Peaky fockin' blinders
Пасхалка раскрыта)
@@YauhenKavalchuk Пасхалка очень улыбнула :)
👍
super
Nice)
👍
👍
like +
👍
мне нравится твой курс, спасибо что постарался. Но почему-то не работает res.write(data) в fs.readFile
Не могу помочь, пока не увижу ваш код
@@YauhenKavalchuk я разобрался всё-таки там одна функция выполнялась раньше другой
а куда материал из репо гита подевался? один ридми)
Там есть ветки, переключайтесь по веткам
Если я правильно понял то таким вариантом можно отправить браузеру только сам html, когда до html добавляю скрип з scr на файл JS () то браузер не получает этот JS (app.js) и скрипт не работает :( . Это можно как то исправить ? Спасибо !
Думаю у вас проблема в том, что блокируются ресурсы описанные в HTML файле. Посмотрите урок по мидлварам - там я показываю решение проблемы для стилей. Вы можете использовать аналогичный подход и для JS
@@YauhenKavalchuk закинул весь js между тегами , некрасиво канешно, но роботает, жаль пока нет времени на что то лучше, ещё 3 задания осталось на ТЗ сделать, а скоро дедлайн.
И спасибо за ответ 👍
Правильно ли я понимаю что можно использовать так же использовать не так
res.write(data);
res.end();
а сократить до
res.end(data); ?
Да
Евгений, доброго дня, подскажи пожалуйста, в чем причина может быть, что при загрузке страницы он выдает 500 ошибки (код аналогичен тому, что в уроке) на подключаемые css и js файлы? Они лежат не в корне, а в папках css и js соответственно. Файл индекс из корня грузится норм при этом
Эти папки нужно сделать публичными. В будущих видео я расскажу об этой проблеме
чем он лучше Django?
Насколько я понимаю статус коды можно вручную не указыать в коде, так как они автоматом в респоньсе отдают адекватные значения. Вручную делается обычно переназначение ( например githhub rest api в некотрых случаях намеренно вместо forbidden возвращает 404 not found ). Подкорректируйте меня и добавьте пояснение.
Да, всё верно
Доброго времени суток, я не очень понимаю почему if (req.url = "/") з одним знаком равенства, а не з тремя if (req.url === "/"), ясли кто подскажет буду благодарный!
Это опечатка(. Должно быть 3
что за тема vs code?
Material Gecko
2:12 - в примере не проверка на '/', а присваивание, автор опечатался.
🙁
Ваш ответ - признание опечатки или недоумение моим комментарием?)
Да, опечатка(
Скажите, а зачем вообще хранить html/css на сервере и отдавать его в респонсе?
А где по вашему хранятся эти файлы?
Братан это фронт?
Это бэк