Node.js #13 Промежуточное ПО (Middleware)

Поділитися
Вставка
  • Опубліковано 12 січ 2025
  • #YauhenK #webdev #Node #Express
    Всех приветствую в курсе «Node.js».
    В данном видеокурсе мы с вами рассмотрим Node.js, серверную технологию которая позволяет исполнять код написанный на JavaScript вне браузера. Разберём базовые концепции и встроенные модули, которые активно используются при разработке сервера. Рассмотрим механизм коммуникаций между сервером и браузером. Создадим базовый роутинг на чистом Node.js. Подключем Express и перепишем роутер. Научимся работать с динамичными данными с помощью шаблонизатора Node.js. Напишем новостное приложение с поддержкой CRUD операций и хранением данных в MongoDB. Создадим свой API по возврату данных из БД. И в заключение, загрузим готовое приложение на Heroku.
    ✒ Репозиторий курса:
    ✔ GitHub: github.com/Yau...
    ✒ Полный список готовых и планируемых курсов:
    ✔ Trello: trello.com/b/R...
    ✒ Автор курса:
    ✔ UA-cam: / yauhenkavalchuk
    ✔ Instagram: / yauhenkavalchuk
    ✔ Twitter: / yauhenkavalchuk
    ✔ VK: YauhenK...
    ✔ LinkedIn: / yauhenkavalchuk
    ✔ GitHub: github.com/Yau...
    ✔ VK (Группа): webdevcom
    ✒ Поддержать развитие канала: github.com/Yau...

КОМЕНТАРІ •

  • @endybrown3862
    @endybrown3862 2 роки тому +12

    Мужик, это самая высший пилотаж в подаче материала! Всё по полочкам, коротко и ясно. Огромное спасибо за лекцию, большого тебе успеха в делах👍

  • @dimalukashenko4865
    @dimalukashenko4865 3 роки тому +5

    Отличный курс.

  • @reginapopova3062
    @reginapopova3062 2 роки тому +1

    спасибо за материал!) пропустила лайки в предыдущих видео, но вернулась, чтобы поставить!) видео заслуживают большего внимания!)

  • @bjol_Dg
    @bjol_Dg Рік тому

    Ну как же здорово объясняешь ! Чел, ты молодец ! Дякую тобі, друже

  • @api-nsk
    @api-nsk 2 роки тому +1

    Спасибо! В комментариях прочитал, что миддлвары не жалуют умники, видать я не из них и пока вижу в них плюсы. Только наверное вынес бы их отдельной папочкой. Предположу это будет реализовано в последующих видео. Лайк!

  • @tekuss4562
    @tekuss4562 2 роки тому +1

    Спасибо!
    Отлично все разъяснили

  • @-Forever-Young-
    @-Forever-Young- Рік тому

    Спасибо за твои труды!

  • @digitalturkistan1857
    @digitalturkistan1857 3 роки тому +3

    Спасибо!

  • @yatagun
    @yatagun 3 роки тому +6

    ждем комментарии шамседдинова)

    • @varanakonda
      @varanakonda 3 роки тому +1

      вот как раз зашел почитать про "сломанный паттерн" и необходимость проверять каждое свойство

    • @varanakonda
      @varanakonda 3 роки тому +1

      Шемсединов уже здесь!

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому +2

      🤣

  • @andygr1n1
    @andygr1n1 3 роки тому +2

    Спасибо, на мой взгляд нет плохих практик, просто для разных проблем, различные решения.

  • @Павел-ъ2б3э
    @Павел-ъ2б3э 3 роки тому

    Один комментарий, в 4 слова. Лайк.

  • @aidasabirova1315
    @aidasabirova1315 Рік тому

    Спасибо Вам за отличный урок,Можете пожалуиста подсказать в 3:46 вы подключили стили вот таким образом: /main.css. А почему вы не указали папку ? ведь фаил мэин находится внутри папки же....обычно при подключении я указываю сперва папку а потом уже через слэш сам фаил стилеи..... может это я не знаю верстку но можете помочь мне понять это?

    • @YauhenKavalchuk
      @YauhenKavalchuk  Рік тому

      Вот тут уже указана папка откуда должны браться стили: express.static('styles'). Я же в самом видео вроде об этом сказал

    • @aidasabirova1315
      @aidasabirova1315 Рік тому

      @@YauhenKavalchuk все правильно .а я вот только что поняла что тут происходит

  • @okujava3678
    @okujava3678 2 роки тому

    Вы супер

  • @qwerty-lj6oq
    @qwerty-lj6oq 3 роки тому +1

    5:13 а body-Parser не устарел ?

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому +2

      Уже в следующем видео я на этот вопрос ответил

  • @ruslan_lwow79
    @ruslan_lwow79 3 роки тому

    like good job

  • @Александр-и9в1о
    @Александр-и9в1о 3 роки тому +1

    Спасибо. Все ясно. Не понятно одно. Можно ли добавить милвар к одному роуту, а не ко всем сразу и как это сделать? Я так понимаю все видео уже отсняты и ты выкладываешь их по дате. Может собери все вопросы и в конце сделай бонусное видео с ответами на вопросы за весь период курса

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому +1

      Мидлвары предполагаю применение ко всему приложению. Однако внутри можно описать логику применения к конкретному роуту

    • @Александр-и9в1о
      @Александр-и9в1о 3 роки тому +2

      @@YauhenKavalchuk то что я имел ввиду я увидел уже когда погуглил. Там применялся не глобальный мидлвар а роутерный. Мне кажется он более гибкий
      let router = express.router
      router.post('some/needs/to/get', acl, mdlv1, mdlv2, get)
      И получается acl mdlvr1 mdlvr2 это кастомные мидлвары которые подготавливают данные для последнего get

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому

      👍

  • @nocomments5529
    @nocomments5529 2 роки тому

    При подключение папки исключения для браузера, как тут, не работает. Пришлось первым аргументом, прописывать путь. После заработалл

    • @YauhenKavalchuk
      @YauhenKavalchuk  2 роки тому

      👍

    • @MixingHome
      @MixingHome Рік тому

      можешь подробней рассказать если помнишь? Я на этой же проблеме застрял

    • @nocomments5529
      @nocomments5529 Рік тому

      @@MixingHome app.use('/style', express.static('style')), app.use('/js', express.static('js')), app.use('/img', express.static('img')), в документации описывают очень подробно об этом, даже лучше чем здесь

  • @dlaik
    @dlaik 3 роки тому

    у ejs есть поддержка layout в шаблонах?

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому

      Не совсем понимаю что вы имеете ввиду под layout, но можете глянуть на сайте с документацией

    • @dlaik
      @dlaik 3 роки тому

      @@YauhenKavalchuk не нашел что-то. Имею ввиду общий шаблон, куда уже подставляются данные для разных страниц.

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 роки тому

      Его нужно создавать самостоятельно

  • @AlexAlex-nh5mc
    @AlexAlex-nh5mc 3 роки тому +5

    Middleware - плохая практика, которая используется в Express, Koa, это то, что я слышал от опытных node.js - разработчиков. Сделайте лучше про Nest.js уроки.

    • @TimurShemsedinov
      @TimurShemsedinov 3 роки тому +11

      Middleware, или, другими словами, фрактал говнокода

    • @AlexAlex-nh5mc
      @AlexAlex-nh5mc 3 роки тому +2

      @@stanislavp681 Можешь посмотреть видео предыдущего комментатора (Timur Shemsedinov), там найдешь ответы

    • @TimurShemsedinov
      @TimurShemsedinov 3 роки тому +7

      @@stanislavp681 я в предыдущем видео #12 привел все доводы, сделал десятки докладов на конференциях, записал более 400 часов видео и провел по ноде более 300 митапов, это кроме контрибьюшена в ноду и другой оупенсорс и того, что из моих учеников 5 контрибьюторов ноды, так что, я много раз все аргументы передал и знаю о чем говорю, это гуглится, кому нужно, не сложно найти

    • @AlexAlex-nh5mc
      @AlexAlex-nh5mc 3 роки тому +2

      @@TimurShemsedinov Поправочка, видео # 11

    • @Кирилл-ж3м2н
      @Кирилл-ж3м2н 3 роки тому +2

      Возможно, миддлвар это плохая практика, не берусь судить. Но кого это волнует, если такой подход повсюду применяется на практике. И не только в ноде.
      Если я откажусь изучать все, что мне не нравится, то никогда не найду работу, потому что работодателям абсолютно все равно на мое мнение по тем или иным подходам и технологиям.