项目结构
目录导航
默认目录
默认 vext create 脚手架是全栈项目。前端源码统一放在 src/frontend/**,让服务端代码和浏览器代码保持物理边界。
需要通过固定 URL 访问的文件放 public/**。会被组件 import、需要 hash 和进入构建图的文件放 src/frontend/assets/**。
前端源码边界
服务端和浏览器文件必须分开。
不要从 src/frontend/** import src/services/**、数据库客户端、密钥、node:* 或 route handler。构建期 leakScan 会阻断这类导入,因为服务端代码不能进入浏览器 bundle。
自动生成文件
Vext 会自动生成浏览器入口和 SSR 入口。
日常只编辑 src/frontend/**,不要手写 .vext/generated/frontend/**。开发期输出在 .vext/client/,生产输出在 dist/client/。
Alias
前端 resolver 提供默认 alias,避免大量相对路径。
静态文件
文件需要固定 URL 时使用 public/**:
文件属于组件、需要构建期 hash 时使用 src/frontend/assets/**:
API-only 项目
创建时关闭前端:
也可以在配置中关闭:
frontend.enabled=false 时,Vext 不应构建前端资源、挂载前端静态文件,也不应给纯 API 项目增加前端 watcher 成本。