That's because front-end development is based on a core of HTML/CSS/JS which itself does not lend very well to architectural paradigms.
People 'starting out' on the front-end, in some ways, never learn how to write propers software. They've been using weird ideas from the start.
They end up reinventing the wheel repeatedly.
There's a whole lot of JavaScript devs out there that think they are front-end devs. They aren't. There's nothing wrong with that of course.
You mean like altering attributes directly on elements (and proud that they had encapsulated the code in a reusable function) instead of adding/removing a class?
And now that .Net Core exists, it's almost a guarantee Microsoft will start shifting more and more of its resources to that, so companies eventually will have to invest significant resources rewriting their libraries for .Net Core, which might never support all the features they rely on.
If you want to do frontend though, you need to know some concrete things. And then you choose a framework (or more likely, some frameworks, since there's no 'one-size-fits-all'), and it no longer becomes supported. At that point you begin to feel Javascript fatigue.
But ensure that whenever you're investing time to learn, it's something that will last.
Which web framework is that? Probably none right now. But waiting is not an option, websites need to be built today.