Frontend Overview
Table of Contents
- Current Capabilities
- What Vext Frontend Is
- Create a Full-stack Project
- Project Structure
- First Page
- Reading Paths
Current Capabilities
This Frontend guide documents the current built-in Vext frontend capability: route-driven React 19 pages, SSR, hydration, nested layouts, frontend i18n, Fast Refresh, render refresh, code splitting, static assets, CDN upload, performance budgets, and hydration validation.
What Vext Frontend Is
Vext Frontend is the built-in full-stack React 19 experience for Vext projects. The URL still belongs to src/routes/**; the route handler prepares server data and calls res.render() to render a page from src/frontend/pages/**.
Use it when you want one Vext application to own API routes, services, SSR, hydration, frontend assets, and production static serving without adding a second application framework.
Use --template api --frontend none when the project is API-only.
Create a Full-stack Project
The default scaffold is a full-stack React project. The frontend can still be disabled in config or created as API-only:
Project Structure
The important boundary is physical:
src/routes/**andsrc/services/**run on the server.src/frontend/pages/**andsrc/frontend/components/**are bundled for the browser.- Do not import services, database clients, secrets, or Node-only modules from frontend files.
public/**is copied to the frontend output and can be published through the deploy manifest.
First Page
Create a page:
Render it from a route:
res.render(page, props?, options?) has three arguments:
Reading Paths
Use the left navigation as the main map. It is intentionally split into concept, task, and reference layers.
The old Frontend integration page is kept only as a compatibility entry for existing links.