create-backend-service
v1.1.6
Published
A CLI tool to create backend service projects based on Koa.js
Maintainers
Readme
Backend Service Scaffold
一个基于 Koa.js 的后端服务脚手架工具,让您快速创建功能完整的企业级后端项目。
🚀 快速开始
全局安装
npm install -g create-backend-service创建新项目
# 使用默认配置
create-backend-service my-project
# 指定模板
create-backend-service my-project --template full
# 跳过安装和git初始化
create-backend-service my-project --no-install --no-git交互式创建
create-backend-service然后按照提示选择配置选项。
📋 可用模板
Full Template (完整模板)
包含所有功能特性:
- ✅ 用户认证与授权
- ✅ 文件上传管理
- ✅ 邮件服务
- ✅ 缓存系统 (Redis)
- ✅ 基于角色的权限控制
- ✅ 数据统计
- ✅ 系统监控
- ✅ 数据导入导出
- ✅ 消息队列
- ✅ 国际化支持
- ✅ API 管理
Basic Template (基础模板)
包含核心功能:
- ✅ 用户认证与授权
- ✅ 文件上传管理
- ✅ 邮件服务
- ✅ 缓存系统 (Redis)
- ✅ 基于角色的权限控制
- ✅ 数据统计
Minimal Template (最小模板)
包含基础功能:
- ✅ 用户认证与授权
- ✅ 文件上传管理
🛠️ 功能特性
🔐 认证与授权
- JWT 用户认证
- 用户注册/登录
- 密码加密存储
- Token 刷新机制
- 用户信息管理
📁 文件管理
- 文件上传接口
- 文件类型验证
- 文件大小限制
- 图片压缩处理
- 文件存储管理
📧 邮件服务
- SMTP 邮件发送
- 邮件模板系统
- 异步邮件队列
- 邮件发送统计
- 邮件验证码
🔄 缓存系统
- Redis 缓存支持
- 会话缓存
- API 响应缓存
- 数据库查询缓存
- 缓存失效策略
👥 权限管理
- RBAC 角色权限
- 权限分配系统
- 接口权限控制
- 菜单权限管理
- 数据权限控制
📊 数据统计
- 用户行为统计
- API 调用统计
- 业务数据报表
- 实时数据监控
- 数据可视化
📈 系统监控
- 性能指标监控
- 错误率统计
- 系统资源监控
- 告警通知系统
- 监控面板
📋 数据导入导出
- Excel 数据导入
- CSV 数据导出
- 数据备份恢复
- 批量数据处理
- 数据格式转换
🔄 消息队列
- 异步任务处理
- 邮件发送队列
- 文件处理队列
- 定时任务调度
- 任务状态跟踪
🌍 国际化
- 多语言支持
- 语言包管理
- 动态语言切换
- 时区处理
- 货币格式化
🔧 API 管理
- API 版本控制
- 接口限流策略
- API 调用统计
- 接口性能分析
- API 文档生成
📖 使用说明
1. 创建项目
create-backend-service my-backend-service2. 进入项目目录
cd my-backend-service3. 安装依赖
npm install4. 配置环境变量
cp .env.example .env编辑 .env 文件,配置数据库和其他服务。
5. 启动服务
# 开发模式
npm run dev
# 生产模式
npm start6. 查看 API 文档
访问 http://localhost:3000/api-docs 查看完整的 API 文档。
🏗️ 项目结构
├── bin/ # 启动脚本
├── config/ # 配置文件
├── controllers/ # 控制器
├── middleware/ # 中间件
├── models/ # 数据模型
├── routes/ # 路由
├── services/ # 业务逻辑
├── public/ # 静态资源
├── uploads/ # 上传文件
├── logs/ # 日志文件
├── tests/ # 测试文件
├── app.js # 应用入口
├── package.json # 项目配置
└── README.md # 项目说明🔧 开发
代码规范
npm run lint
npm run lint:fix测试
npm test
npm run test:watch
npm run test:coverage📝 配置选项
命令行选项
--template <template>: 选择模板 (basic, full, minimal)--database <database>: 选择数据库 (mysql, postgresql, sqlite)--no-git: 跳过 git 初始化--no-install: 跳过依赖安装
环境变量
NODE_ENV: 运行环境PORT: 服务端口DB_HOST: 数据库主机DB_PORT: 数据库端口DB_NAME: 数据库名称DB_USER: 数据库用户DB_PASSWORD: 数据库密码JWT_SECRET: JWT 密钥REDIS_HOST: Redis 主机REDIS_PORT: Redis 端口SMTP_HOST: SMTP 主机SMTP_USER: SMTP 用户SMTP_PASS: SMTP 密码
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📦 发布和更新流程
🚀 首次发布
- 登录 npm 账户
npm login
# 或使用令牌
npm config set //registry.npmjs.org/:_authToken YOUR_TOKEN_HERE- 检查包信息
npm whoami
npm view create-backend-service- 发布包
npm publish- 验证发布
npm install -g create-backend-service
create-backend-service --help🔄 更新发布流程
每次修改脚手架工具后,都需要重新发布:
快速发布 (推荐)
# 使用发布脚本 - 自动完成所有步骤
npm run publish:patch # 补丁版本 (修复bug)
npm run publish:minor # 小版本 (新功能)
npm run publish:major # 大版本 (重大变更)手动发布
# 1. 更新版本号
npm version patch # 或 minor/major
# 2. 测试更新
npm test
# 3. 发布更新
npm publish
# 4. 推送标签
git push --tags
# 5. 验证更新
npm install -g create-backend-service@latest📋 版本更新检查清单
在每次发布前,请确保:
- [ ] 版本号已更新 (
package.json中的 version 字段) - [ ] CHANGELOG.md 已更新 (记录本次更新的内容)
- [ ] README.md 已更新 (如有新功能或配置变更)
- [ ] 测试通过 (
node test-scaffold.js无错误) - [ ] 代码格式化 (使用
npm run lint:fix) - [ ] 依赖更新 (如有新依赖,更新
package.json)
🔧 开发工作流
本地开发
# 1. 克隆项目
git clone <your-repo-url>
cd backend-scaffold
# 2. 安装依赖
npm install
# 3. 开发新功能
# 修改 lib/generateTemplate.js 等文件
# 4. 测试
node test-scaffold.js
# 5. 提交代码
git add .
git commit -m "feat: add new feature"
git push发布流程
# 1. 更新版本
npm version patch # 或 minor/major
# 2. 运行测试
npm test # 如果有测试脚本
node test-scaffold.js
# 3. 发布
npm publish
# 4. 推送标签
git push --tags📝 更新日志模板
在 CHANGELOG.md 中记录更新内容:
## [1.1.0] - 2024-10-19
### Added
- 新增系统监控功能路由
- 新增数据导入导出功能路由
- 完善基础中间件文件生成
- 添加用户路由文件生成
### Fixed
- 修复缺失的 users.js 路由文件
- 完善错误处理中间件
- 优化项目结构生成
### Changed
- 更新依赖版本
- 改进代码格式化🐛 常见问题解决
1. 发布失败 - 包名已存在
# 检查包名是否可用
npm view create-backend-service
# 如果包名冲突,修改 package.json 中的 name 字段2. 版本号冲突
# 查看当前版本
npm view create-backend-service version
# 手动设置版本号
npm version 1.2.03. 权限问题
# 检查登录状态
npm whoami
# 重新登录
npm logout
npm login4. 测试失败
# 清理测试目录
rm -rf test-project
# 重新运行测试
node test-scaffold.js🔍 发布后验证
发布成功后,进行以下验证:
- 检查 npm 页面: https://www.npmjs.com/package/create-backend-service
- 测试全局安装:
npm install -g create-backend-service@latest
create-backend-service --version- 测试项目生成:
create-backend-service test-verification --template basic --no-install --no-git📊 版本管理策略
- 补丁版本 (patch): 修复 bug,不破坏现有功能
- 小版本 (minor): 新增功能,向后兼容
- 大版本 (major): 重大变更,可能不兼容
🎯 最佳实践
- 语义化版本: 遵循 SemVer 规范
- 测试优先: 每次更新前都要运行测试
- 文档同步: 更新功能时同步更新文档
- 向后兼容: 尽量保持向后兼容性
- 及时发布: 功能完成后及时发布,避免积累过多变更
📄 许可证
MIT License
🔗 相关链接
作者: Jiuli
邮箱: [email protected]
版本: 1.0.0
最后更新: 2024-10-19
