Are there any good approaches for doing this without a specific framework?
And if you want to persist those changes back to disk, you can do that, too. https://developer.chrome.com/devtools/docs/workspaces
For backed web development (in Clojure at least) there isn't really a lot of state in the first place - request comes in, request comes out, state is in the database not the application - so there are no framework constraints.
Node.js has a package called piping that hot-reloads require()ed files. It makes interactive development possible. Checkout my backend and frontend interactive isomorphic starterkit: https://github.com/RickWong/react-isomorphic-starterkit It hot-reloads Node server code and client code your browser.