v1 and v2 at separate hosts. You separate versions by path prefix on that shared origin instead, and a reverse proxy or your cloud platform routes each prefix to its deployment.
Serve versioned assets
Views fetch their assets by absolute URL, so a view served under/v2 must request its bundle from /v2/assets/.... Skybridge reads the prefix from the x-forwarded-prefix header on each request and prepends it to every asset URL a view emits, alongside the origin it reads from x-forwarded-host.
The build is identical across versions: the prefix is applied when the server renders the view, not baked into the bundle. One running process serves any number of versions at once, each gets view HTML pointing at its own asset path.
Set the header
The prefix comes from your infrastructure, not your code: setx-forwarded-prefix on each version’s route in your reverse proxy or cloud environment, for example x-forwarded-prefix: /v1.