I started teaching myself this about 18 months ago, here is what I found:
HTML, CSS and Vanilla JS is first. Only do this for 6 months.
After that I started drawing circles, the inner circle is point one: HTML, CSS and JS.
When I was researching and learning this, I frequently came in touch with words I didn't know. When I was researching css, I saw the words "Sass" and "Less" so added those to my next outer circle. When researching JS I saw words like Babel, TypeScript, so I added those to the circle too.
Then when I reseached "Sass" and "Less" and saw words like "Gulp" and "Grunt", I didn't know what those were, so added them to my next outer circle. When diving deeper into HMTL I saw the word "Jade" (now called Pug) and added it to the next circle.
Then I saw "React", "Angular" etc. etc.
This meant that I kept circling between the three components that make up the web, HTML, CSS and JS, not loosing touch with any of them just spreading my wings further into the technologies that are built upon those three.
Of course I also hit (and am still hitting) absolutely devastating "brick-wall-moments" where I just thought "I won't go any further I can not learn this", but keep at it, water cuts stone because of it's perseverance, not because of it's power.
There are many different frameworks and libraries and learning everything is practically impossible. If you want to become productive quickly, I would recommend narrowing down the list and picking the best candidate. Other answers provide some very good pointers. I would like to add my own framework to that list - Cx.
Try to do as much as hobby projects as you can. All the best.