I typically start new front-end prototypes with a single HTML file that I view using a file:// URL.
I enjoy this practice of incrementally growing my projects, so I’ll keep working in that single file for as long as I can.
Once it becomes unwieldy, I’ll split out the CSS and JavaScript into dedicated files.
Then when manual DOM manipulation gets too complex, I’ll reach for a front-end framework.
Until recently though, I wasn’t sure how to make this step feel incremental.
Most framework installations recommend npm install, which means my project will now depend on NodeJS.
Some frameworks have a hosted CDN option, but I’m similarly uncomfortable accepting that infrastructural dependency.
Ideally, I’d just grab the framework files, import them from my JavaScript, and then carry on with my file:// URL.

Well, creating that ideal setup was easier than I expected.
My first key discovery was the id=app>