Static Assets and CDN
Vext has two static asset locations with different behavior.
Asset Locations
Use imported assets when a component owns the image, font, or media file. Use public/** for files that need fixed URLs such as favicon.svg, robots.txt, or externally referenced files.
Imported Assets
Production builds use content-hashed output so browsers and CDNs can cache aggressively.
Public Files
Public files are included in the deploy manifest so release tooling can upload them with the rest of the frontend assets.
CDN URL
Set frontend.deploy.assetBaseUrl when production assets are served from a CDN:
This changes generated asset URLs. Upload is controlled separately by frontend.deploy.upload, vext build --upload-assets, or vext deploy assets.
Incremental Upload
deploy-manifest.json plus sha256 state lets Vext skip unchanged images, fonts, JS, CSS, and public files. This is the default path for enterprise releases where large media files should not be re-uploaded every build.