For me, the place to start with wound up being POJ [plain old javascript]. Earlier I dabbled with [insert javascript library here]. I thought about [insert javascript framework here]. Last year I tried a few other starting points that seemed to hold promise: Elm, ClojureScript, Rails, ASP.MVC.NET, etc. Eventually, I realized that each effort was a way of avoiding Javascript because the barrier I ultimately hit was not understanding the underlying Javascript.
When I decided to learn Javascript I bought the thickest best book I saw: Javascript: the definitive guide. And the most important thing I've learned I learned from the Table of Contents.
Javascript means two things. The obvious one is the language. The non-obvious one is the browser's Javascript API. Google a something about javascript and you will get a suspension of one in the other or vice versa...and it's actually worse because Node means that you will also get things that pertain to the server as well.
The other resource I constantly use is MDN. Again, written around POJ.
Javascript is the lingua franca of the front end, and here 'javascript' means the API not the language. But the language matters because the best most accessible writing about the API uses javascript the language. The most popular framework or language or library of the week may abstract away many details I don't care about, but as soon as I hit one I care about, I need to understand the javascript API to know why what I am doing doesn't work.
Maybe later when I can understand what they're over, I'll pick up somebody else's abstractions. But even then, I 'm not sure I want to try to sort through the exponential combinatorics of possible toolchains built on other people's code.
Good luck.