open-index/open-npm huggingface dataset:
npm package: @massong/create-template-node
Description: A CLI tool to create Node.js projects with Koa2 + MySQL template
Author: massong
Latest version: 1.4.3

# @massong/create-template-node

一个用于快速创建 Node.js + Koa2 + MySQL 项目模板的脚手架工具。

## 🚀 快速开始

### 方式一：npm init（推荐）
```bash
npm init @massong/template-node@latest my-project
```

### 方式二：npx
```bash
npx @massong/create-template-node my-project
```

### 方式三：全局安装
```bash
# 全局安装
npm install -g @massong/create-template-node

# 使用
create-template-node my-project
# 或者
template-node my-project
```

## 📋 功能特性

- 🎯 **交互式配置** - 通过命令行交互式配置项目信息
- 🗄️ **数据库配置** - 支持 MySQL 数据库连接配置
- 📦 **自动安装依赖** - 可选择自动安装 npm 依赖
- 🔧 **环境配置** - 自动生成 .env 配置文件
- 📚 **完整模板** - 包含完整的 Koa2 + MySQL 项目结构
- 🎨 **代码规范** - 内置 ESLint 代码规范检查

## 🛠️ 生成的项目结构

```
my-project/
├── app.js                 # 应用入口文件
├── package.json           # 项目配置文件
├── .env                   # 环境变量配置
├── .env.example          # 环境变量示例
├── .gitignore            # Git 忽略文件
├── README.md             # 项目说明文档
├── controllers/          # 控制器层
│   └── authController.js # 认证控制器
├── services/             # 服务层（业务逻辑）
│   └── authService.js    # 认证服务
├── middlewares/          # 中间件
│   ├── auth.js           # 认证中间件
│   ├── errorHandler.js   # 错误处理中间件
│   ├── mysql.js          # 数据库连接池
│   ├── response.js       # 响应格式化中间件
│   └── validator.js      # 数据验证中间件
├── routes/               # 路由层
│   ├── index.js          # 主路由
│   └── authRoutes.js     # 认证路由
└── sql/                  # 数据库脚本
    └── init.sql          # 数据库初始化脚本
```

## 🎯 使用流程

1. **运行创建命令**
   ```bash
   npm init template-node@latest my-project
   ```

2. **按提示配置项目**
   - 项目名称
   - 项目描述
   - 作者名称
   - 服务端口
   - 数据库配置（可选）
   - 是否自动安装依赖

3. **进入项目目录**
   ```bash
   cd my-project
   ```

4. **启动开发服务器**
   ```bash
   npm run dev
   ```

## 📝 配置选项

### 项目基本信息
- **项目名称**: 符合 npm 包命名规范的项目名称
- **项目描述**: 项目的简短描述
- **作者名称**: 项目作者信息
- **服务端口**: Web 服务器监听端口（默认 8081）

### 数据库配置
- **数据库主机**: MySQL 服务器地址（默认 localhost）
- **数据库端口**: MySQL 服务器端口（默认 3306）
- **数据库用户名**: 数据库连接用户名（默认 root）
- **数据库密码**: 数据库连接密码
- **数据库名称**: 数据库名称（默认使用项目名称）

## 🔧 生成的项目特性

- ✅ **Koa2 框架** - 轻量级、高性能的 Node.js Web 框架
- ✅ **MVC 架构** - 清晰的代码组织结构
- ✅ **RESTful API** - 标准的 REST API 设计
- ✅ **用户认证** - JWT Token 认证机制
- ✅ **MySQL 8** - 支持 MySQL 8 数据库
- ✅ **连接池** - 数据库连接池管理
- ✅ **事务支持** - 数据库事务处理
- ✅ **参数验证** - 使用 Joi 进行请求参数验证
- ✅ **错误处理** - 统一的错误处理机制
- ✅ **响应格式化** - 标准化的 API 响应格式
- ✅ **CORS 支持** - 跨域资源共享
- ✅ **环境配置** - 支持多环境配置
- ✅ **模块规范** - 统一的导出导入规范

## 🚀 项目启动

生成项目后，可以使用以下命令启动：

```bash
# 开发模式（支持热重载）
npm run dev

# 生产模式
npm start
```

## 📚 API 文档

生成的项目包含完整的 API 文档，启动服务后访问：
- 健康检查: `GET /api/v1/health`
- 认证健康检查: `GET /api/v1/auth/health`
- 用户登录: `POST /api/v1/auth/login`
- 获取用户信息: `GET /api/v1/auth/me`
- 修改密码: `PUT /api/v1/auth/change-password`

## 🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个脚手架工具。

## 📄 许可证

本项目采用 MIT 许可证。

## 🙏 致谢

- [Koa.js](https://koajs.com/) - Web 框架
- [MySQL](https://www.mysql.com/) - 数据库
- [Commander.js](https://github.com/tj/commander.js/) - 命令行工具
- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js/) - 交互式命令行

---

**Happy Coding! 🎉**