# fastify-ts **Repository Path**: suxiaohu/fastify-ts ## Basic Information - **Project Name**: fastify-ts - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-24 - **Last Updated**: 2026-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fastify-ts ## 项目介绍 `fastify-ts` 是一个基于 Fastify、TypeScript 和 MySQL 的后端 API 示例项目,采用分层结构实现用户模块(routes + service),适合作为 Node.js 接口服务的入门模板与二次开发基础。 当前已具备以下能力: - 使用 Fastify 搭建 HTTP 服务,默认监听 `3000` 端口 - 通过插件机制注册 MySQL 连接(`@fastify/mysql`) - 提供用户资源的基础 CRUD 接口 - 使用 TypeScript 严格模式和类型扩展(`FastifyInstance.mysql`) - 支持开发热更新与生产构建 ## 技术栈 - Node.js - Fastify 5 - TypeScript - MySQL(mysql2) - pino-pretty ## 目录结构 ```text src/ app.ts # 应用入口(注册插件与路由) plugins/ mysql.ts # MySQL 插件 routes/ user.routes.ts # 用户路由 services/ user.service.ts # 用户业务与数据库操作 interfaces/ user.interface.ts # 用户数据类型 types/ index.d.ts # Fastify 类型扩展 ``` ## 接口说明 用户路由统一前缀为 `/xh`,当前接口包括: - `GET /xh/users`:获取用户列表 - `GET /xh/users/:id`:获取单个用户 - `POST /xh/users`:创建用户 - `PUT /xh/users/:id`:更新用户 - `DELETE /xh/users/:id`:删除用户 ## 快速开始 ### 1) 安装依赖 ```bash npm install ``` ### 2) 配置环境变量 在项目根目录创建 `.env` 文件,示例: ```env MYSQL_URL=mysql://root:password@127.0.0.1:3306/your_database ``` ### 3) 启动开发环境 ```bash npm run dev ``` 服务启动后访问:`http://localhost:3000` ### 4) 类型检查与构建 ```bash npm run typecheck npm run build ```