Hello World
可执行 2.x 权威示例
本页的发布合同是仓库中的
examples/hello-world
项目。它是刻意保持最小的 JavaScript 应用:使用 checkJs 类型检查、Native adapter、显式 rateLimit.enabled: false、Vext Docs,并且只有 GET / 与 GET /health 两个路由。
启动后验证 /、/health、/openapi.json 和 /docs。示例中的 "vextjs": "file:../.." 只用于本仓库;脚手架项目与普通用户项目安装发布后的 vextjs 包。
源码目录是真相源:发布前会实际校验文件树、scripts、typecheck/build、HTTP endpoint、OpenAPI 输出与 Docs 品牌。
扩展 TypeScript 教学变体
下方 walkthrough 是单独的教学变体,用于展示更多校验和响应 API;它不是可执行发布 fixture,也不能据此推断 examples/hello-world 目录中存在这些额外路由。
完整项目结构
1. 初始化项目
使用 vext create 脚手架快速创建:
或手动创建:
2. 配置文件
package.json
tsconfig.json
3. 配置
adapter: 'native' 使用内置的 Native Adapter(基于 http.createServer + route-core),不依赖第三方 HTTP 框架。也可以切换为 'hono'、'fastify'、'express' 或 'koa',路由业务代码无需改写;选择前请查看当前性能基准并用实际负载复测。
4. 路由
5. 入口文件
6. 运行
开发模式
开发模式特性:
- 文件修改自动热重载(三层策略:路由/服务/配置智能刷新)
- 美化日志输出(内置 pretty 格式)
- 自动启用 OpenAPI 文档(访问
http://localhost:3000/docs)
生产模式
7. 验证
启动后可使用 curl 或浏览器验证:
8. 响应格式说明
VextJS 默认启用出口包装(config.response.wrap: true),所有 res.json() 的响应会自动包装为统一格式:
成功响应:
错误响应:
如果不需要包装(如微服务间通信),可在配置中禁用:
关键概念回顾
下一步
- 📖 阅读 快速开始 了解更完整的项目搭建流程
- 📖 阅读 CRUD API 示例 了解数据库集成
- 📖 阅读 项目结构 了解约定式目录规范
- 📖 阅读 路由 深入了解三段式路由定义