What is Express middleware and how does it work? (in-depth)

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024

Комментарии • 182

  • @mykalimba
    @mykalimba 4 года назад +24

    Note to everyone watching: if you ever see your browser spin-waiting as seen in some points in this video, that's usually an indication that the app isn't completing a path through your middleware or route handlers. Sometimes it's a missing call to next(), like shown here. Sometimes there's a code path through a route handler that doesn't call a res.end(), res.json(), or res.whatever().

    • @Dev-tf2bx
      @Dev-tf2bx 3 месяца назад

      yeah .. learned that hard way ! (took me a week to figure out )

  • @MichaelMooregrownman
    @MichaelMooregrownman 4 года назад +48

    Great video! You may be one of the few that totally explains Express middleware. Also I agree that understanding middleware will help make you a better Express Developer. I feel like a better Express Dev already

    • @NewHorizon-v9p
      @NewHorizon-v9p 4 года назад +1

      sure , because express itself build on 2 concepts first is middleware function second is callback functions . if you comfortable with these concepts so you good to go

  • @slow_start
    @slow_start 4 года назад +17

    Zach! Brotha! You have single-handedly demystified everything surrounding Express and Passport for me. Something literally every major js tutorial youtuber has failed to do. So glad I found you man, thanks again. Subbed.

  • @josuerbague6851
    @josuerbague6851 2 года назад +3

    One of the few tutorial makers who create understandable ones. You deserve more views.

  • @hyakoissei466
    @hyakoissei466 2 года назад

    This is the best resource for understanding Express middleware on the whole internet

  • @sadhucat4476
    @sadhucat4476 4 года назад +15

    Such understandable explanations. I love that he fully explains how and why things work.

  • @atee3938
    @atee3938 2 года назад

    I have been trying to understand middleware concept ,watched several tutorial ,this explains everything perfectly and all my doubt cleared.its the best explanation on RUclips after watching all explanation on middleware

  • @Moch117
    @Moch117 Год назад

    Bro I've watched so many videos on Express middleware and NONE of them covers the concepts like you do. They are all just spitting out code without explaining WHY things work the way they do. I found the error handling and next() explanations extremely helpful.
    Thank you!

    • @zachgoll
      @zachgoll  Год назад

      Nice, that’s definitely the goal of this channel. I want to show 1) why something works and 2) how I figured it out. Glad to hear you’re getting that out of it!!

  • @tayyabferozi
    @tayyabferozi 2 года назад

    The guy just gives concepts, rather than giving "how to do this" or "how to do that" tutorials.... Love from Pakistan

  • @rizgamingvids
    @rizgamingvids 4 года назад +6

    Thank you very much for helping to understand the middlewares in express. I have been confusing in understanding the middlewares since last a couple of months and today you helped me to understand this concept very well. Thank you again.

  • @armaandhanji2112
    @armaandhanji2112 4 года назад +7

    Really appreciate the longer videos like these that really dig into the details. Thanks again so much! Subscribed.

  • @lukemuga434
    @lukemuga434 3 года назад

    Wow!!! Now this is an in-depth guide to express middleware.

  • @nithishkumars1657
    @nithishkumars1657 3 года назад

    I dont know how u cleared my doubts that i have been confusing my myself with......but yaah...ur magic worked....hatsoff mann.....love from India ❤️

  • @jjkelsey1180
    @jjkelsey1180 4 года назад +3

    I've watched several videos explaining express.js...and this video is the most clear and informative one for me. Thank you so much :D

  • @josphatoluoch5205
    @josphatoluoch5205 4 года назад +1

    I am at 12:17 but already liking it. Thank a lot Zach for the good explanations.

  • @thankyouthankyou1172
    @thankyouthankyou1172 Год назад +1

    I like your teaching very much! it is clear, calm. thank you so much, I've learnt a lot from you

  • @justadev____7232
    @justadev____7232 4 года назад +2

    After reading/watching from multiple sources, finally someone who teaches this concept in a way that I get it!!!! Thanks Zach!!! Your teaching abilities are amazing!!! Props!!!!

  • @deveshkumar2533
    @deveshkumar2533 3 года назад

    Zach..Brother....!! Under 10k subscribers for this channel, unbelievable . I just don't understand this world sometimes. You solve mysteries like none other!!

    • @zachgoll
      @zachgoll  3 года назад

      Really appreciate it, we’re almost there though!!

  • @mounirelbertouli9990
    @mounirelbertouli9990 3 года назад

    Yeeaaah finally i get a great explanation about Express middleware , no boring ! Thanks a lot Mr.Zach

  • @manishmadan5543
    @manishmadan5543 Год назад

    waiting for such detailed explanation from a long time, my quest is finally over !

  • @yitzchaksviridyuk932
    @yitzchaksviridyuk932 3 года назад +2

    Thank you very much for the time and effort you invest into making these videos. They are high quality, and you're the first developer on RUclips I've actually seen explain these things. Thanks again.

    • @zachgoll
      @zachgoll  3 года назад +1

      You're very welcome!

  • @bunnybloods768
    @bunnybloods768 4 года назад

    This is the only video in youtube that you can easily understand what is middleware is

  • @yousufkhan2909
    @yousufkhan2909 3 года назад

    This is the best video I ever watched. despite watching so many videos I lost my head on learning middleware but you have cleared all my doubts. I am your permanent sub now.

    • @zachgoll
      @zachgoll  3 года назад

      Glad it was the video that clicked :)

  • @Hayden-ws7ru
    @Hayden-ws7ru Год назад

    Before this series I was dumb enough to not know, what I didn't know. Absolute legendary explanations, thank you very much!

  • @ukasz6770
    @ukasz6770 3 года назад +1

    Wow! never thought I could understand this in one video. Definitely subscribing!

  • @chidibede2417
    @chidibede2417 4 года назад

    Wowww, I have been working with middlewares without actually understanding it in such details...THANK YOU!!!!!!!!!! My Computer Professor I never had

  • @thinksmartstudios
    @thinksmartstudios Год назад

    it was an wonderful explanation. I've been struggling all day today to understand this, you made it so simple. I could finally connect al lthe dots.Thankyou so much

  • @sidarjunful
    @sidarjunful 4 года назад +1

    Wow excellent explanation of the topic. I have been scratching my head since last week. searching all over the internet to find a simple explanation of node. express and server, but explanations over the internet are filled with jargons that only experienced developers can understand. Keep sharing such type of excellent content, it means a lot for people like me. Liked and Subscribed.

  • @libertad83y
    @libertad83y 4 года назад +2

    Amazing! It should be the first thing to understand and master, congrats Zach!

  • @MasterTeeee
    @MasterTeeee 2 года назад +3

    Something that's really important, and that you didn't mention in this tutorial, is that next() is like a recursive function call, in that it also `unwraps` (unless a later middleware `return`s before it gets a chance to)... What I mean by that is, any code you have that's placed AFTER the next() statement will be run once the last middleware has been reached.
    Pseudo code example:
    middleware1
    log(1)
    next()
    log(2)
    middleware2
    log(3)
    Would result in:
    1
    3
    2
    Being logged.

    • @zachgoll
      @zachgoll  2 года назад

      Yep that’s a great one! Definitely have to be careful with that, I generally throw a return statement before calling next() if there’s code that comes after it that I don’t want to run

  • @joeygarcia7826
    @joeygarcia7826 2 года назад

    Great job! The one thing that I still haven't seen demonstrated in any of these Express middleware videos is content negotiation, something that can return an error too, such as a 406 or a 415.

  • @luunguyenphat9399
    @luunguyenphat9399 3 года назад

    You're doing a very good job. I have skimmed through your videos in this video's playlist, at first, I supposed that I already knew it, but your explanation makes me clearer understood. However, I have to increase the video play speed to 1.5x. Last word, thanks! :D

    • @zachgoll
      @zachgoll  3 года назад

      Awesome! Glad you got some value in them. Can totally understand the 1.5x speed; I do that on most RUclips programming tutorials too 😁

  • @danyalahmed641
    @danyalahmed641 4 года назад +2

    This guy really deserve to be noticed by "so called" developer community on RUclips

  • @gajanandsharma1113
    @gajanandsharma1113 4 года назад +1

    Nicest thing i have ever seen for express

  • @hiteshkayastha2490
    @hiteshkayastha2490 3 года назад

    Bro! I am very thankful for this video, not just because such a video is available because of you, but also the time you took to explain everything seamlessly.

  • @kidschannel2473
    @kidschannel2473 4 года назад

    This is nothing but best, who tf will even dislike this video?

  • @user-hs6tg6zy4e
    @user-hs6tg6zy4e 6 месяцев назад

    The error handling part was amazing. Thanksss

  • @JohnCamden
    @JohnCamden 4 года назад +1

    Very helpful. This whole series is great.

  • @lorocongarrote
    @lorocongarrote 3 года назад

    unrated tutorials, no way this is a free course, thanks!

  • @ahmadza1836
    @ahmadza1836 4 года назад +2

    A very brain friendly explanation, keep up the good work

  • @flowerofash4439
    @flowerofash4439 2 года назад

    this tutorial is sooo goood
    detailed, easy to understand
    and generous

  • @forexhoss9381
    @forexhoss9381 Год назад

    Damn thank you so much man. I just recently started learning about the backend of things, specifically I just started with Express.js and man, this definitely is a bit more difficult than I anticipated. The middleware concept had me initially so confused. But I just finished this entire video and saw your RUclips Header Image, I definitely must say, after watching this video, this hard concept has FINALLY clicked 😄 Thank you so much man! Overall I think you delivered this extremely well. The general pace and simple examples with thorough explanations really add value.

  • @johnnyboghean2242
    @johnnyboghean2242 3 года назад

    Really great video! I have been using middleware already but after just simply watching this video I feel like I truly have an understanding of how they work.

  • @kurtisivey7672
    @kurtisivey7672 Год назад

    This video is gold. Definitely came away knowing so much more about middleware. Thanks for explaining it so well.

  • @antonyrichard369
    @antonyrichard369 3 года назад

    Superb .. I know what is middleware earlier .. they are good as well .. but yours is deep .. loved it

  • @evilservo
    @evilservo 4 года назад

    Awesome job, finally someone taught me the REAL basic to build my castle of express upon, THANKS A LOT, no mattter how much I thank you it will never be enough

  • @mohammedfalih8713
    @mohammedfalih8713 3 года назад

    man you are a phenomenal
    after tons of videos I've watched
    you explain the topic in 30 minutes and add on them the whole express framework
    keep up your great work. wish to you all the best ❤🤟

  • @JFarmsGlobal
    @JFarmsGlobal 2 года назад

    This is perfect!
    I subscribed immediately after the first 5 minutes of this video. He explained everything in detail.
    Thanks for this great video.

  • @farlight6044
    @farlight6044 4 года назад +1

    Great video
    It's very clear and informative
    Thanks!

  • @TheDJARCHY
    @TheDJARCHY 4 года назад +1

    This is so great... Can you do a part 2 about testing those middlewares??

    • @zachgoll
      @zachgoll  4 года назад +2

      Like unit testing?

  • @kaan1780
    @kaan1780 3 года назад

    Fantastic explanation! Now I have a much better understanding when it comes to what happens when I app.use() libraries like bodyParser, Helmet, Cors and so on...

  • @huckbit
    @huckbit 4 года назад +1

    Magic! Thank you very much for this video Zach !!! Your channel is awesome. Thank you for all your videos.

  • @imarpit007
    @imarpit007 4 года назад +1

    Very nice tutorial. A lot of things to learn and this video will definitely help you.

  • @junaidrehman429
    @junaidrehman429 2 года назад

    Great Video. I would be thrilled if you come up with a video of CRUD using MERN and clean architecture.

  • @amanaggarwal5884
    @amanaggarwal5884 2 года назад

    The explanations are very very good and to the point. Loved it

  • @ytdevs
    @ytdevs 3 года назад

    Yup, I'm in love lol thanks for series, it's a masterpiece. Appreciate you man

  • @haciendadad
    @haciendadad 2 года назад

    WOW, Thank you Zach! I love seeing the new group of instructors, they are really good! I am a new subscriber now, I hope more people discover your channel! The only feedback I have, is I think your volume should be a little higher. I heard it fine, but I had to put up the volume to its highest level on the video itself and my laptop and it was perfect, but I was in a quiet room, other than that it was great. I am going to checkout the Passport videos next!

  • @helmialfathseptiana6383
    @helmialfathseptiana6383 4 года назад

    I wish u always keep sharing stuff like this, so fundamental, the series is gold ! thx

  • @kalaiselvan7352
    @kalaiselvan7352 3 года назад

    Simple as that. loved the explanation and going to watch remaining parts instead of a course which I actually bought. Thanks man.

  • @atharvsankpal
    @atharvsankpal Месяц назад

    Great, you provided timeless knowledge!!!

  • @digvijayyamagekar7139
    @digvijayyamagekar7139 3 года назад

    Lord zach gollwitzer, thank you very much for this clear explanation, ✌️✌️

  • @aghahasaan
    @aghahasaan 3 года назад

    Thank you so much, I was so confused until today that I switched to long polling for my chat app just cause I didn't really get the real flowcharts although my socket io application is working just fine.. this is the best tutorial on this topic and explains everything that is required, others use too many middlewares or middlewares along with templating engines and other cool technologies..

  • @TakshvysDad
    @TakshvysDad 3 года назад

    So much detailed explanation . Blessed to come across your tutorial. Great job. Please keep posting like this. You are going to take over the express tutorial.

  • @amancode7013
    @amancode7013 3 года назад

    you got a talent for explaining, keep it up brodie

  • @donaldjr.labajo5687
    @donaldjr.labajo5687 3 года назад

    This sir, is by far the best explanation I have ever seen since I started learning programming. Thank you x3000!

  • @pratikdas9138
    @pratikdas9138 2 года назад

    you are best ,,, you have explained all basic in one video thanks

  • @NimTaoWingChun
    @NimTaoWingChun 3 года назад

    Absolutely brilliant. You are a great teacher, very clear and easy to understand. Keep it up.

  • @hercules3484
    @hercules3484 4 года назад +1

    Very much needed video. Thank you very much.

  • @takshpatel8109
    @takshpatel8109 2 года назад

    Best Video on Middleware. Thank you so much for this video

  • @divaynagar1929
    @divaynagar1929 2 года назад

    Very concise and to the point video !!! Great one ...

  • @assortedpov
    @assortedpov 3 года назад

    This was excellent, a very clear and understandable explanation. I'm in my 2nd year of a degree with 2/3 computer science classes. One of the classes I've been studying since October has had me writing and extending a couple (a bookshop which we extended fortnightly for 6 months and a nutritional app/recipe builder) of Node/Express apps which serve ejs templates and also serve as APIs for database operations (experimented with MongoDB & mySQL on different assignments). I've got good scores all year but haven't properly understood middleware until now.

    • @zachgoll
      @zachgoll  3 года назад

      I can totally relate! Glad to see you’re taking the initiative to seek knowledge outside of the classroom-it really goes a long way!!

    • @assortedpov
      @assortedpov 3 года назад

      ​@@zachgoll I came across your channel tying to figure out session management for another university project. I have a Vue app hosted on Heroku (served by an Express instance) and it uses an Express API I wrote for db (MySQL) operations, which is CORS configured to accept HTTP requests from the Vue app and is hosted on a virtual machine on my university departmental server. Hopefully I'll slowly figure it out from your Passport authentication series. These videos are great, thanks for the time you've clearly put into creating them

    • @zachgoll
      @zachgoll  3 года назад

      In addition, I'd also keep an eye on my #fullstackroadmap series. I will be covering these topics over the next couple of weeks through building an E-Commerce app. Here's the playlist - ruclips.net/video/ZZJT5uskuvI/видео.html

    • @assortedpov
      @assortedpov 3 года назад

      @@zachgoll Thanks, I expect I'll check those out at some point in future. Just had a quick look at what's in the playlist and by the time you get to session management, it might be too late for my purposes. But I reckon i'll figure it out from your Node/Passport auth series

  • @CoryTheSimmons
    @CoryTheSimmons 4 года назад +2

    This is a great series Zach. Thank you so much for the effort! It's really high quality and useful. =)

  • @miraclesdohappen2352
    @miraclesdohappen2352 3 года назад

    Myself using Node JS and Express pretty extensively but your video given a great insight specially on express middlewares, for sure this will help me to optimize my code..great work dude cheers and gud luck with your future videos once again great stuff:-)

  • @TakshvysDad
    @TakshvysDad 3 года назад

    So much detailed explaining . Blessed to come across your tutorial. Great job. Please keep posting like this.

  • @iben1195
    @iben1195 3 года назад +1

    I feel like an express guru right now 🤗

  • @diegor5805
    @diegor5805 4 года назад +1

    I really needed this video. It clears up so many questions!

  • @sreeni3037
    @sreeni3037 3 года назад

    Simply Superb Zach. Very clear explanation. Just Subscribed.

  • @stephane777777
    @stephane777777 Год назад

    Really good. This is what I was looking for. many thanks Zach

  • @Lysiak.Yevhenii
    @Lysiak.Yevhenii Год назад

    Awesome video ! Thanks ! I believe good to have schema (picture) of order of the execution for that but I didn't find any yet.

  • @atheermohmed7802
    @atheermohmed7802 2 года назад

    OMG I felt like I will never understand it, thank you so much

  • @arkhamian7586
    @arkhamian7586 3 года назад

    One of the best explanations out there. Thank you for doing this!

  • @valikonen
    @valikonen 3 года назад +1

    Amazing tutorial, thanks and I hope to get more like this about Node. Maybe how to use node with typescript or how to use i18n and so on :)

    • @zachgoll
      @zachgoll  3 года назад +1

      I’m making a full stack web dev series as we speak! More Node tutorials coming your way soon 😎

  • @johnyanastacio1107
    @johnyanastacio1107 4 года назад +1

    Thank you brother, this series is helping me so much...

  • @nanda_8
    @nanda_8 3 года назад

    Loved this!!!
    Underrated video for sure

  • @9gager87
    @9gager87 4 года назад +1

    Great video, thank you so much! Keep making these videos!

  • @boopfer387
    @boopfer387 Год назад

    excellent one of the best if not the best! Thank you Zach!

  • @michelbouchet3605
    @michelbouchet3605 4 года назад +1

    That's a very nice tutorial. Thank you!

  • @jamilkabir3168
    @jamilkabir3168 4 года назад

    You’re so good at explaining! Please keep making videos. Thanks!

  • @darkapopovich6331
    @darkapopovich6331 3 года назад

    This is super clear and useful, thank you!

  • @bertt1055
    @bertt1055 3 года назад

    Best best best tutorial on req res next cycle

  • @monkeystylle
    @monkeystylle 3 года назад

    thank you, this makes me understand express a lot better..

  • @kchemutai3483
    @kchemutai3483 Год назад

    Thanks so much for this awesome explanation Zach. This helped me alot

  • @subhashgn1775
    @subhashgn1775 2 года назад

    Very well explained...
    Thank you and very grateful for this wonderfull resource.

  • @sayonarasun1577
    @sayonarasun1577 4 года назад +1

    great explanation. thanks a lot mate!

  • @ecofriend93
    @ecofriend93 4 года назад +1

    This is great! Thanks a bunch!

  • @kimjiyoung8655
    @kimjiyoung8655 2 года назад

    Zach! Super thanx from Denmark, it helps so much!! ;

  • @deepaktdk3637
    @deepaktdk3637 11 месяцев назад

    Great explanation.Much needed.

  • @Blue-bb9ro
    @Blue-bb9ro 2 года назад

    You're a great teacher

  • @godfather5557
    @godfather5557 2 года назад +1

    Great video! Just one doubt that I had, Acc to node request object are Read-Only Streams so how can we modify them?

  • @flowerofash4439
    @flowerofash4439 2 года назад

    correction: it is really important to catch any error to prevent it from crashing the server, but using express error handler middleware is optional.