Am I comfortable with a bundler that tries hard to be a whole build system? No. Does it do all that it purports to do, and is highly customizable? Yes. Am I the only one that is confused by SO many options and configurations that it's hard to separate the forest from the trees? Yes. Is it THE standard against which all other bundlers are judged upon? Yes!
Webpack is awesome and I really like what it does. But it is too complex in general. You need a lot of concentration and practice to really understand what it does. The best way to use Webpack for me is when I don't have to sue it myself but let another tool manage it like for example: NextJS, Create React App, Create Snowpack App or when someone provide a Webpack boilerplate which you can copy and start from as a base. Otherwise theres so many configs that you are spending a whole improductive day trying to make it do what you wish to do. I do recommend it because its extremely good but I hope that in the future it can become easier to manage when you first visit their official website.
Webpack is probably the module bundler tool that I have had the most interesting love-hate relationship with. When you are able to configure it completely to your needs and get it running as per your requirements, boy, does it work phenomenally. But if you are a newbie and want to get started quickly, you might be in for quite an uphill battle if you want to set everything up from scratch using webpack. My suggestion for folks who don't have much time or patience to read the docs would be to use cli tools or something similar to get it preset and running for you. However, if you are a configurations hustler and like to play around with the tiniest settings, Welcome to the Party! :)
When I started using webpack, I was very hard and confusing. It is very very hard to use webpack if you don't the basics and don't know what you want to achieve. So for beginners it is frustrating to use webpack. But after the initial hurdle you start to understand the webpack basics, loaders plugins etc. Then you understand why we are doing the way we are doing things. One thing that they are doing amazing is the module federation thing, so much exiciting stuff. Although I would love to be it simple. I am just not comfortable with this much complexity. A tool should be simple enough, but this is just crazy. I hope they listen and manage their complexity. The main usp of the new bundlers is that they are just simple, but they cannot compete with webpack large array of options. Still they need to work on the simplicity.
Webpack is the ultimate build tool. I like gulp a lot as well, i've used both in a professional capacity. But the cool thing about webpack is it's all mostly based on configuration and you don't need a whole directory full of different custom commands to do what you are trying to do--you can do pretty much anything within a single file per environment/configuration--which makes webpack truly hard to beat. In addition, gulp can be used to supplement webpack which is also cool. Those two are by far my two favorite build tools. We use webpack for almost everything these days, a lot of it comes built into other packages these days as well. It seems to me like webpack is winning the race!
I have used both WebPack and rollup and can see the pros and cons of both. Currently, I have decided to stick with WebPack as it is more powerful and offers more space for customization. The downside is the complexity. You need to get past a steep learning curve even to just set up a simple project. I know that WebPack works out of the box without any extra configuration but most likely this behavior won't be the preferred one for your project.
Once I tried to learn and adopt webpack .The learning curve for this is high and I found it really complex and hard to use. Later I switched to alternatives. useful for handling and packaging your application as it gives you chance to package different files together into a file but also providing the possibility to add different plugins that would be utilized while packaging for transfilling.
Very useful library for handling and packaging your application as it gives you the chance to package different files together into a file not that only but also providing the possibility to add different plugins that would be utilized while packaging your application for transpiling...etc.
Really hard to master, but very powerful to use. That's why it's probably best to start with alternatives like parcel (webapps), or rollup (packages)