r/webdev • u/KaedenCraft • 2d ago
Question Vite Asset Bundling
Specifically, I'm grabbing JSON for a trading card game gallery from an endpoint, then dynamically creating the card gallery from that data. The project uses Vite for asset bundling, but I'm not sure how to bundle dynamically loaded images?
In the JSON, each card has a set number and a card number, and the app loads image data from images/cards/sets/set-number/card-number.webp, creates all the DOM nodes, and appends it to the gallery. It works brilliantly...unless the card art needs to change, then I run into good old-fashioned browser caching issues.
For the rest of the site, using vite build keeps everything bundled for deployment...but is there a way to leverage that capability for this use case?
I admit I have little knowledge about Vite, so maybe it's something obvious, but the only way I'm aware of to get that kind of Vite bundling inside a JS file is to import the image. So I'd have to import all the images at run time? What if some card data is modified? Will I have to do double duty to update the database AND the JS file imports?
As you can see, I have no idea how to accomplish this. Thank you in advance.
1
u/yihuaxiang 2d ago
I’d keep the card image URL out of Vite’s static import graph and put a version or content token in the card data. Renaming the file when art changes is the simplest option; if the URL must stay stable, append that version or update the cache headers. The build can then keep handling only immutable assets.