WATCH NEXT: Javascript Interview Questions and Answers - Dominate Your Next Interview - kzbin.info/www/bejne/rZ-8fHtombRpaJIsi=5DfbGEfhXWiiv0a_
@souryavarenya3 жыл бұрын
Ah man, one of the best videos explaining this. My understanding of distinguishing between frontend and backend JS cleared up after watching this.
@MonsterlessonsAcademy3 жыл бұрын
Glad you liked it!
@kithowlett83743 жыл бұрын
This is actually one of the best JS module explanation videos on KZbin - thank you!
@MonsterlessonsAcademy3 жыл бұрын
Glad you think so!
@CarlosChavez-ij5ki Жыл бұрын
I agree
@rameshwarprasad47223 жыл бұрын
This was such an amazing explanation man. You've literally covered every aspect of modules and that too in complete depth. Thank you soo much. Keep making more JavaScript videos.
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@wentinz2 жыл бұрын
your video is so helpful! I love that you dive into the reason to invent modules before getting into how to use it, because for beginners, that is the hardest part to understand - why do we need to complicate things this way? Your explanation made perfect sense and I can see when we need to use it and when not!
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@volkan85832 жыл бұрын
Ty for good explanation. Its been 7 months of my journey and tutorials only say "do this" instead of why they do that in that way. You make clear some of the logic that Ive been misunderstood.
@MonsterlessonsAcademy2 жыл бұрын
You are welcome!
@ohmyumbrella Жыл бұрын
this should be pinned on top of the result list for any "beginner javascript tutorial" search. I have been working with JS without knowing this simple thing and had faced so many problems but never had that wise idea to actually search the difference between commonJS and ESM. Now I am humbled and unstuck. Thank you.
@MonsterlessonsAcademy Жыл бұрын
Glad it helped!
@z1adahmed3 ай бұрын
Almost every beginner JavaScript developer gets confused by this topic, But you made it very clear and easy, thank u Bro ❤❤
@MonsterlessonsAcademy3 ай бұрын
Glad to hear that
@默-c1r3 жыл бұрын
Super helpful! I spent so much time watching different tutorials, but you explained this the best!
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@SasiruTharinda4 ай бұрын
One of the highly underrated channels on KZbin! Brilliant explanation!
@MonsterlessonsAcademy4 ай бұрын
Glad you think so!
@kmSaifullah Жыл бұрын
You have just explained this topic in a very elegant way. Thanks for sharing this and spread your knowledge on the internet.
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@GuanglinDu15 күн бұрын
Thanks a lot for the detailed explanation and demos. They do help clarify the difference between require and import, and why import is more favorable over require.
@MonsterlessonsAcademy12 күн бұрын
Glad it was helpful!
@jesseneon18963 жыл бұрын
I love the way you teach and code at the same time. Amazing video, I look forward to watching more of your videos.
@MonsterlessonsAcademy3 жыл бұрын
Happy to hear that!
@fatihaelbouchaoui Жыл бұрын
The best explanation abt this topic. Thanks.
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@Svalin042 жыл бұрын
Your explanation is really good. Thanks for this video.
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@panthonyy2 жыл бұрын
Wow, best commonjs modules and ES6 modules course on YT, that cleared a lot of things in my mind. Thanks a lot. You just got a new sub!
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@luizmeirelles9132 жыл бұрын
Amazing explanation.
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@ashishbisht91623 жыл бұрын
This is the best simplified explaination i ever head .. so neat and clear......Thankx dude....Bless you...
@MonsterlessonsAcademy3 жыл бұрын
Glad it helped!
@shwetamane877411 ай бұрын
Explaining the 'why' made it extremely easy to understand! 👏 Thank you very much.
@MonsterlessonsAcademy11 ай бұрын
You're very welcome!
@expertreviews11122 жыл бұрын
THE best video on the topic... so much confusion with the evolution and this brings everything together !!!! awesome !! kudos
@MonsterlessonsAcademy2 жыл бұрын
Glad you liked it!
@kineticBoss Жыл бұрын
I was struggling with a code base that had "require" and exports. Whereas another codebase had import, it was super confusing. But thank you for clearing it up. Great video, good explanation. Also, you speak English very calmly, it helps me to understand better as I am a non-native English speaker.
@MonsterlessonsAcademy Жыл бұрын
Glad to hear that!
@NaveenSingh_094 ай бұрын
Just one IMPORTANT thing: 20:12 Import statements are not hoisted, so you have to declare it at the top. (I went through several blogs and articles, may be I understood it wrong...in that case please correct me.)
@MonsterlessonsAcademy4 ай бұрын
Import declarations are hoisted. In this case, that means that the identifiers the imports introduce are available in the entire module scope, and their side effects are produced before the rest of the module's code runs. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
@NaveenSingh_094 ай бұрын
@@MonsterlessonsAcademy Thanks for the reference...
@NaveenSingh_094 ай бұрын
@@MonsterlessonsAcademy Actually you are wrong about it, just try and run what you said it will not work as you explained in the video. . ES6 imports are hoisted to the top of the file, but they're in temporal zone until the actual import statement is evaluated...meaning You CAN NOT use the imported function or variable before the import statement itself. So basically the imports are hoisted but not like variable declarations.
@flecko58 ай бұрын
Thanks for explaining the history behind this topic!!!!
@MonsterlessonsAcademy8 ай бұрын
Glad you like it!
@ajithingmire7782 Жыл бұрын
Wow, everyone keeps saying es6 modules are better but rarely anyone tells why. Very precisely explained. I started exploring this topic after getting optimisation bailouts warnings in Angular for certain commonjs modules, I think now I know why commonjs modules are not tree shakable
@MonsterlessonsAcademy Жыл бұрын
Glad you like it!
@martindufour5727 Жыл бұрын
I very rarely comment or participate on the Internet, as I'm usually just a passive listener and content reader. However, I felt compelled to break from my habits to thank you. Your explanation is splendid and incredibly well-done
@MonsterlessonsAcademy Жыл бұрын
Wonderful!
@sigvist62282 жыл бұрын
You are the best. I was confronting with the issue related to these require() import a lot of time. Hopefully, your video helped me to understand how to solve my issue. Thanks!
@MonsterlessonsAcademy2 жыл бұрын
You're welcome!
@MarcoTulioRibeiro Жыл бұрын
I'm looking for this explanation a long time. Excellent presentation, congrats!
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@GiuseppeGreco-jl7dx Жыл бұрын
Clear and easy to follow, thanks. One step closer to understanding it all ✨
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@B-Billy2 жыл бұрын
I am Java developer learning JS. I was having a hard time understanding JS import.. Watched many videos but this is where it all make sence!! Kudos, thank you so much! Suubscribed.
@MonsterlessonsAcademy2 жыл бұрын
Glad it helped!
@ChasingTheMapleLeaf3 жыл бұрын
nice video, very well explained, best video on this topic on the internet.
@MonsterlessonsAcademy3 жыл бұрын
Wow, thanks!
@gseven73073 жыл бұрын
Too few likes for an amazing video like this. Very systematic, very clear and concise. Thank you very much
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@bhavyabansal11433 жыл бұрын
One of the best videos I have seen so far... Thanks a lot for this.
@MonsterlessonsAcademy3 жыл бұрын
Glad you liked it!
@shubhamshinde37202 жыл бұрын
your explanation is too good man i was writting Es6 module in Vuejs and Commonjs Modules in nodejs but didn't know there was difference in them until now those Udemy course don't teach this things even beeing most views and rated
@MonsterlessonsAcademy2 жыл бұрын
Awesome!
@Michael-sh1fb3 жыл бұрын
Thanks a lot. I've been putting off learning this because it's not a very interesting topic but you summed it up really well.
@MonsterlessonsAcademy3 жыл бұрын
Glad you enjoyed it!
@mitrasu5918 Жыл бұрын
Man you are the real MVP my guy, helping out plebs from the past. Thank you so much.
@MonsterlessonsAcademy Жыл бұрын
Great to hear that!
@AsheAve Жыл бұрын
Nice article. I learned a ton and watched it like ten times over two days! I have the timeline of modules, now.
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@musaffirlp57105 ай бұрын
Well explained and I understood it clearly. Kudos !
@MonsterlessonsAcademy5 ай бұрын
Thanks!
@CarlosChavez-ij5ki Жыл бұрын
Damn, thanks man. I had a whole in my brain related to this topic. Now it is filled with a very good explanation.
@MonsterlessonsAcademy Жыл бұрын
Glad it helped!
@anselmleo41463 жыл бұрын
Thanks so much for the in-depth explanation. Got here looking for how to refactor my common js code to typescript es6.
@MonsterlessonsAcademy3 жыл бұрын
You are welcome!
@sudosanam Жыл бұрын
Perfectly explained, thanks for the great content!!
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@aminebelbahar10862 жыл бұрын
Great content! all I wanted to know about node modules and es6 modules
@MonsterlessonsAcademy2 жыл бұрын
Thank you!
@laakolina2 жыл бұрын
Thank you for such a clear and concise explanation.
@MonsterlessonsAcademy2 жыл бұрын
You're very welcome!
@dylanmarais73042 жыл бұрын
Could you maybe do a video about your setup that allows you to so easily traverse through your files? Great content btw!
@MonsterlessonsAcademy2 жыл бұрын
Thank you! It is already there: kzbin.info/www/bejne/j6Ovmqidec12q80
@Sashad20033 жыл бұрын
You are one of the best teachers I know. Thank you very much for a lesson 😎👍
@MonsterlessonsAcademy3 жыл бұрын
Thank you! 😃
@Kjeii Жыл бұрын
Really clear explanation! Thanks so much!
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@Kjeii Жыл бұрын
@@MonsterlessonsAcademy I'm trying to store api key in self-made module and provides key using export/import; that works! However, it still reveals api key using browser devtool; is there any method to hide sensitive information in front-end code?
@kriskata7653 Жыл бұрын
Amazing explanation of the topic. I understood everything. Also I would like to mention that if you are using the Live Server extension you don't need to install serve from the npm. Thank you for the tutorial :)
@MonsterlessonsAcademy Жыл бұрын
You are welcome!
@0x007A Жыл бұрын
The text editor is either vim or one of its derivative clones such as neovim. Not everyone uses Microsoft Visual Studio Code.
@conceptroot Жыл бұрын
Качественный материал. Теперь все понятно. Спасибо
@robertobenedit2 жыл бұрын
Espectacular! increible lo claro que sos! Me diste un mejor punto de vista!
@MonsterlessonsAcademy2 жыл бұрын
Thank you!
@farahrayis59283 жыл бұрын
Clear explanation. Thank you very much. You saved me a lot of time.
@MonsterlessonsAcademy3 жыл бұрын
Glad it helped!
@FerchoNossa2 жыл бұрын
Great. Thanks for this monstrous explanation
@MonsterlessonsAcademy2 жыл бұрын
My pleasure!
@exxzxxe2 жыл бұрын
A first class presentation- well done!
@MonsterlessonsAcademy2 жыл бұрын
Glad you liked it!
@aliozeir7082 жыл бұрын
very smooth and helpful. Thanks!
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@nicknameis2 жыл бұрын
Amazing!
@MonsterlessonsAcademy2 жыл бұрын
Thank you! Cheers!
@nicknameis2 жыл бұрын
@@MonsterlessonsAcademy Возьмите меня в школу. Я бы за 3 месяца весь фул стек бы освоила, если бы у меня был бы такой учитель. Столько бестолковых учителей, которые сами знают лишь поверхностно. А хочется знать детали и что куда и откуда. Спасибо за отличные уроки.
@designniewolinsky77523 жыл бұрын
Best video on that topic!
@MonsterlessonsAcademy3 жыл бұрын
I'm happy that you like it!
@kostiantynkarzhanov9216 Жыл бұрын
Thank you so much! Very good explanation of the topic! 💛
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@ОлексійКудряшов3 жыл бұрын
Great vid, really all you need in modules! thx
@MonsterlessonsAcademy3 жыл бұрын
You're welcome!
@lukasluftlaufer10933 жыл бұрын
So clear and concise! Thanks a Lot!
@MonsterlessonsAcademy3 жыл бұрын
I'm happy that you like it!
@hieuphanlong513 жыл бұрын
OMG, this is so easy to understand. Thank you very much.
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@Technochoice-do1bl10 ай бұрын
Thanks you made my day and save lots of mine time
@MonsterlessonsAcademy10 ай бұрын
Glad to hear that!
@supastar25 Жыл бұрын
Perfect explanation, thanks a lot
@MonsterlessonsAcademy Жыл бұрын
Glad to hear that!
@rsym.43972 жыл бұрын
the best explanation ever!
@MonsterlessonsAcademy2 жыл бұрын
Thank you!
@nouman_sharif Жыл бұрын
perfect name for channel
@MonsterlessonsAcademy Жыл бұрын
Thank
@mithunsurve2 жыл бұрын
Best video on modules !!!
@MonsterlessonsAcademy2 жыл бұрын
Glad you think so!
@RishabhJain-uv7zj2 жыл бұрын
This explanation was great. Can you make a video about the code editor you were using and some common shortcut you use it seemed pretty efficient while viewing this video.
@MonsterlessonsAcademy2 жыл бұрын
Hi, I already have a video about code editor kzbin.info/www/bejne/j6Ovmqidec12q80 90% of my shortcuts are standard vim shortcuts. They are not customised. dd - delete the line caw - replace the word ci( - replace in brackets dit - delete in tags etc, etc
@nvn1413 Жыл бұрын
Exactly what I was loking for; thanks. Subscribed gladly...
@MonsterlessonsAcademy Жыл бұрын
Thanks for the sub!
@aimeeriversАй бұрын
super helpful video, thank you so much!
@MonsterlessonsAcademyАй бұрын
Glad it was helpful!
@maxvhanamane8402 жыл бұрын
It was a very thorough explanation, and it was really easy to understand ❤.
@MonsterlessonsAcademy2 жыл бұрын
Glad it was helpful!
@mrs86832 жыл бұрын
just discovered your chanel and i am amazed how you explain thing, it is awesome, and i wonder what is the font you are using ? it is really dope
@MonsterlessonsAcademy2 жыл бұрын
Thank you! It's monaco font.
@r.a.collection Жыл бұрын
Good discriptions well done 👍
@MonsterlessonsAcademy Жыл бұрын
Thanks 👍
@scottisitt3 жыл бұрын
Very helpful! Thank you for explaining this!
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@illiapotapov99392 жыл бұрын
2:32 - actually you don't have to make a function here. Just wrapping a piece of code in a block with {} is enough to give it it's own scope.
@MonsterlessonsAcademy2 жыл бұрын
But just {} is not a valid js. or what do you mean?
@illiapotapov99392 жыл бұрын
@@MonsterlessonsAcademy { var a = "value"; } "a" won't be available outside of this block. I made an experiment yesterday before even watching this video. Two scripts in . 1st declares a function and second calls it. Function prints "hello". When i wrapped a declaration in {} i got error "function not defined" but didn't notice any other errors. I've got the idea of {} giving code its own scope from dragon book. I'll check again after work to see if i missed something.
@illiapotapov99392 жыл бұрын
@@MonsterlessonsAcademy i tested it today. Code like this: let a = "1"; console.log(a); { let a = "2"; console.log(a); } console.log(a); It printed out: 1 2 1
@Pareshbpatel2 жыл бұрын
A very clear tutorial on CommonJS and JS Modules. Thank you. {2022-03-08}, {2023-12-14} PS Subscribed!
@MonsterlessonsAcademy2 жыл бұрын
Awesome, thank you!
@hugobritotech3 жыл бұрын
this is a true monster lesson, i learned several things, thanks for the content
@MonsterlessonsAcademy3 жыл бұрын
Glad to hear it! Mmmmonster content :)
@amventures12 жыл бұрын
OMG! you cleared the confusion I had.
@MonsterlessonsAcademy2 жыл бұрын
I'm happy to hear that!
@952a259 Жыл бұрын
Thank you for explanation!
@MonsterlessonsAcademy Жыл бұрын
Glad it was helpful!
@Untitled00782 жыл бұрын
I love the way he speaks.
@MonsterlessonsAcademy2 жыл бұрын
Thanks!
@thebmusproject3 жыл бұрын
Thanks for this great explanation!
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@ercanyanmaz56242 жыл бұрын
Thanks for your great effort🙂
@MonsterlessonsAcademy2 жыл бұрын
You are welcome!
@ltmutiwekuziwa2 жыл бұрын
So so clear. Thanks
@MonsterlessonsAcademy2 жыл бұрын
Glad you think so!
@fernandogabriel84522 жыл бұрын
Amazing content! You can really explain your stuff
@MonsterlessonsAcademy2 жыл бұрын
Glad you think so!
@NN-si6cl3 жыл бұрын
Very helpful, thanks for the great breakdown!
@MonsterlessonsAcademy3 жыл бұрын
Very welcome!
@yiannis_p Жыл бұрын
Amazing video, thank you so much!
@MonsterlessonsAcademy Жыл бұрын
Glad it helped!
@Jeireme3 жыл бұрын
Thank you very much, everything is clear and very well explained!
@MonsterlessonsAcademy3 жыл бұрын
You are welcome!
@paxdriver Жыл бұрын
Cors errors drove me insane trying to learn react while learning new things outside of the framework
@devviz Жыл бұрын
so we just went a whole circle from *import from* to *const require* back to *import from* because we realized the original method is still the best one ?! now that's mindblowing
@MonsterlessonsAcademy Жыл бұрын
No we don't. require was introduced in NodeJS from the start. imports were introduced much later in Ecmascript 6.
@gurinderkaur63773 жыл бұрын
Thank you so much for explaining in detail.
@MonsterlessonsAcademy3 жыл бұрын
Glad it was helpful!
@sudhakarprakash4276 Жыл бұрын
great explanation
@MonsterlessonsAcademy Жыл бұрын
Glad you think so!
@m126522 жыл бұрын
Brilliant! Thank you
@MonsterlessonsAcademy2 жыл бұрын
You're very welcome!
@EdsonSilva-qr5gr3 жыл бұрын
Awesome content, keep going
@MonsterlessonsAcademy3 жыл бұрын
Thanks, will do!
@n3d2782 жыл бұрын
Just simply awesome.. 👏
@MonsterlessonsAcademy2 жыл бұрын
Thank you so much 😀
@odebroqueville Жыл бұрын
Very clear explanation which covers a bit more than just the basics. Thank you. Did I understand correctly that ES6 modules can be used in NodeJS? Also wondering: what's the best way to use node modules in web extensions?
@MonsterlessonsAcademy Жыл бұрын
In the latest versions of node both commonjs and es6 is supported but you must provide correct configuration to tell what module system you want nodejs.org/api/esm.html#modules-ecmascript-modules Regarding web extensions I have no idea
@balajeemishra2 жыл бұрын
Really,I have learned alot ❤️
@MonsterlessonsAcademy2 жыл бұрын
You are welcome!
@user-nh8ge6hx9r2 жыл бұрын
thx for the clear explanation ;)
@MonsterlessonsAcademy2 жыл бұрын
You are welcome!
@SanjeetKumar-xd3ne3 жыл бұрын
This is awesome. Can you make a video on how modern web frameworks loads up works in the production version on browser, with all required packages and files, and how those files interact with other, that's a big challenge for me to understand.
@MonsterlessonsAcademy3 жыл бұрын
Thanks, will add it to the ideas list of future videos
@SanjeetKumar-xd3ne3 жыл бұрын
@@MonsterlessonsAcademy🎊❤️🎉
@ncaicedo933 жыл бұрын
Thanks man!! this is awesome
@MonsterlessonsAcademy3 жыл бұрын
Glad you like it!
@rohitbahuguna3481 Жыл бұрын
nice video dude i loved it
@MonsterlessonsAcademy Жыл бұрын
Glad you enjoyed
@murilo.g.t Жыл бұрын
Nice video!! Thaanks!
@MonsterlessonsAcademy Жыл бұрын
You are welcome!
@Ishirosama2 жыл бұрын
Great content !
@MonsterlessonsAcademy2 жыл бұрын
Thank you!
@glurp1er2 жыл бұрын
Very good explanation, thanks! However, I'm used to OOP and I don't really get why I should switch to modules instead of keeping using classes.
@MonsterlessonsAcademy2 жыл бұрын
modules don't stop you to use classes. export default FooClass import FooClass from 'foo.class' you are done
@glurp1er2 жыл бұрын
@@MonsterlessonsAcademy Thanks for your quick response! I already use classes to organize my code in different files (sometimes static or singleton), so why should I use modules on top? I feel like I'm missing something... Maybe modules are a way to restrict the usage of a class to a specific file?
@MonsterlessonsAcademy2 жыл бұрын
@@glurp1er All your classes are global. Without modules you have name collisions, possibility to override class, etc.
@glurp1er2 жыл бұрын
@@MonsterlessonsAcademy Thanks again! Indeed I see now how modules could prevend classes names from colliding.
@erichepperlewp3 жыл бұрын
06:16 - #GOTCHA: CommonJS only runs in Node, not the browser (natively). This means you can't run "require" statements in browser without calling some library.