Node.js #9 Создание базового роутинга (Create Base Routing)

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ส.ค. 2024

ความคิดเห็น • 70

  • @andygr1n1
    @andygr1n1 3 ปีที่แล้ว +5

    лайк за инфу,
    Timur Shemsedinov говорит что надо, но нужно понимать, что это контент для людей, которые только знакомятся с nodejs. Конечно же через switch будет легче понять, а с мапами и другими чудесами, можно и самим переделать, попрактиковаться.
    В общем здорово, спасибо)

  • @dimalukashenko4865
    @dimalukashenko4865 2 ปีที่แล้ว +2

    Интересно, продолжай в том же духе!

  • @aidasabirova1315
    @aidasabirova1315 ปีที่แล้ว

    түсіне білген адамға өте қызықты сабақ.керемет

  • @TimurShemsedinov
    @TimurShemsedinov 3 ปีที่แล้ว +26

    Делать роутинг через swith/case плохо, это хардкод роутов прямо в контроллере, лучше сделайте коллекцию new Map где роутам будет соответствовать функция. Кроме того, req и res не должны попадать в функцию-обработчик эндпоинта, чтобы отделить бизнес-логику от протокола. Заметьте, у вас в роуте /about-us делается end, а потом все равно делается fs.readFile и еще раз res.end(); Контроллер уже превратился в портянку.

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +5

      Этот пример я сделал специально, что бы показать что нативная реализация не очень удобна. В следующем видео роутер будет переписан с помощью express

    • @TimurShemsedinov
      @TimurShemsedinov 3 ปีที่แล้ว +8

      @@YauhenKavalchuk Если нативную реализацию сделать через Map или Object, то она будет более удобной и чем express, который очевидно является фракталом говнокода

    • @user-lj6it6kk1x
      @user-lj6it6kk1x 3 ปีที่แล้ว +6

      @@TimurShemsedinov ты им десятки докладов и лекций сделаешь, а они еще 20 лет будут говнокодить на мидлварях, что тут поделаешь

    • @ApelsinovIvan
      @ApelsinovIvan 3 ปีที่แล้ว +1

      @@YauhenKavalchuk ну switch/case сам по себе антипаттерн

    • @yuriylaznyuk1958
      @yuriylaznyuk1958 3 ปีที่แล้ว

      @@YauhenKavalchuk Делай как видишь. Норм. Дякую.

  • @de_vitalii
    @de_vitalii 3 ปีที่แล้ว +3

    Дякую за урок!

  • @api-nsk
    @api-nsk 2 ปีที่แล้ว

    Спасибо! Доходчивое объяснение.

  • @moloko6469
    @moloko6469 ปีที่แล้ว

    офигенный контент, спасибо

  • @MrBulat1
    @MrBulat1 7 หลายเดือนก่อน

    Классный позновательный урок, спасибо большое за видос. Вопрос - какой экстеншен используешь в VS Code - для разметки кода?

    • @YauhenKavalchuk
      @YauhenKavalchuk  7 หลายเดือนก่อน

      На канале есть плейлист «подборка полезных ресурсов» - там первое видео - все плагины которые я использую

  • @kylefraid6550
    @kylefraid6550 3 ปีที่แล้ว +1

    Tommy Arthur John - Peaky fockin' blinders

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +1

      Пасхалка раскрыта)

    • @kylefraid6550
      @kylefraid6550 3 ปีที่แล้ว

      @@YauhenKavalchuk Пасхалка очень улыбнула :)

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      👍

  • @user-yf2er5vr8q
    @user-yf2er5vr8q 2 ปีที่แล้ว

    super

  • @user-nh3pw8ze5c
    @user-nh3pw8ze5c 3 ปีที่แล้ว

    👍

  • @ruslan_lwow79
    @ruslan_lwow79 3 ปีที่แล้ว

    like +

  • @just-skl
    @just-skl 2 ปีที่แล้ว

    мне нравится твой курс, спасибо что постарался. Но почему-то не работает res.write(data) в fs.readFile

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      Не могу помочь, пока не увижу ваш код

    • @just-skl
      @just-skl 2 ปีที่แล้ว

      @@YauhenKavalchuk я разобрался всё-таки там одна функция выполнялась раньше другой

  • @LPS-ln1mz
    @LPS-ln1mz 5 หลายเดือนก่อน

    а куда материал из репо гита подевался? один ридми)

    • @YauhenKavalchuk
      @YauhenKavalchuk  5 หลายเดือนก่อน

      Там есть ветки, переключайтесь по веткам

  • @user-ww5hs2up2n
    @user-ww5hs2up2n ปีที่แล้ว

    Если я правильно понял то таким вариантом можно отправить браузеру только сам html, когда до html добавляю скрип з scr на файл JS () то браузер не получает этот JS (app.js) и скрипт не работает :( . Это можно как то исправить ? Спасибо !

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว +1

      Думаю у вас проблема в том, что блокируются ресурсы описанные в HTML файле. Посмотрите урок по мидлварам - там я показываю решение проблемы для стилей. Вы можете использовать аналогичный подход и для JS

    • @user-ww5hs2up2n
      @user-ww5hs2up2n ปีที่แล้ว

      @@YauhenKavalchuk закинул весь js между тегами , некрасиво канешно, но роботает, жаль пока нет времени на что то лучше, ещё 3 задания осталось на ТЗ сделать, а скоро дедлайн.
      И спасибо за ответ 👍

  • @arturarutyunov3318
    @arturarutyunov3318 2 ปีที่แล้ว

    Правильно ли я понимаю что можно использовать так же использовать не так
    res.write(data);
    res.end();
    а сократить до
    res.end(data); ?

  • @kirillzhukov5344
    @kirillzhukov5344 3 ปีที่แล้ว

    Евгений, доброго дня, подскажи пожалуйста, в чем причина может быть, что при загрузке страницы он выдает 500 ошибки (код аналогичен тому, что в уроке) на подключаемые css и js файлы? Они лежат не в корне, а в папках css и js соответственно. Файл индекс из корня грузится норм при этом

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Эти папки нужно сделать публичными. В будущих видео я расскажу об этой проблеме

  • @user-ro3qo7wd8h
    @user-ro3qo7wd8h 9 หลายเดือนก่อน

    чем он лучше Django?

  • @artihlec
    @artihlec 2 ปีที่แล้ว

    Насколько я понимаю статус коды можно вручную не указыать в коде, так как они автоматом в респоньсе отдают адекватные значения. Вручную делается обычно переназначение ( например githhub rest api в некотрых случаях намеренно вместо forbidden возвращает 404 not found ). Подкорректируйте меня и добавьте пояснение.

  • @user-ww5hs2up2n
    @user-ww5hs2up2n ปีที่แล้ว

    Доброго времени суток, я не очень понимаю почему if (req.url = "/") з одним знаком равенства, а не з тремя if (req.url === "/"), ясли кто подскажет буду благодарный!

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว +2

      Это опечатка(. Должно быть 3

  • @andrei.l
    @andrei.l 2 ปีที่แล้ว

    что за тема vs code?

  • @kids-man
    @kids-man 2 ปีที่แล้ว

    2:12 - в примере не проверка на '/', а присваивание, автор опечатался.

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      🙁

    • @kids-man
      @kids-man 2 ปีที่แล้ว

      Ваш ответ - признание опечатки или недоумение моим комментарием?)

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 ปีที่แล้ว

      Да, опечатка(

  • @antonb6831
    @antonb6831 ปีที่แล้ว

    Скажите, а зачем вообще хранить html/css на сервере и отдавать его в респонсе?

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว

      А где по вашему хранятся эти файлы?

  • @notariousbig3673
    @notariousbig3673 ปีที่แล้ว

    Братан это фронт?