You don't really need a webserver (the webserver "prevent" the CORS security error, for local files), here are some alternatives you can use:
- Electron or nwjs as mentioned in this SO-Answer,
- Or simply inline all assets/files (as base64 blobs), like you would do for interactive game ads or so (similar as menitoned in this answer), than there would be only one big html-file, but you could open it also locally
But it depends on your actual usecase, if it should look like a standanlone app, option 1 is the way to go, BUT it is much more work (and needs much more space since it deploys it's own "webbrowser").
If bundling all assets/files into one single HTML file is enough, I would setup webpack(or another bunlder), like mentioned in the second option. Smaller footprint less work.
Update: Checkout neutralino.js, is a lightweight version of the above mentioned versions, here a comparison. (To take with a grain of salt, since it's from the github of neutralino.js and it's from 2018)