Earlier quoted context omitted.
I still count three frameworks :) (React, Node, sequelize, I'm not counting webpack but I probably would if it's anything like as much of a pain as Grunt or Gulp or... And as you say, this is the lightweight version.)
And how many frameworks can you count in a win forms or wpf application? If we're going to count frameworks, there'd be no end it. As I once said, programming is abstraction upon abstraction. Like an onion, a Russia doll or better still, inception. Frameworks abound everywhere, at every layer. You just need to adjust your scope as you see fit, to find them.
More to the point, .NET was designed from the get go as an enterprise programming language. The web was not designed from the beginning to be a universal application platform, it was designed to display formatted hyperlinked text. Much of the hack-y feel of today's web development -- as well as other aspects such as the rather poor security -- springs from this. If the web were designed from the get-go to be a universal sandboxed application platform, I feel that many things (ranging from the scripting language choice to the DOM model) would have looked a lot different today. Standard, non interactive HTML + CSS (what the web was designed for) certainly doesn't feel too hacky after all.