175 lines
4.6 KiB
Markdown
175 lines
4.6 KiB
Markdown
# QuickStack - 前后端分离项目初始化工具
|
||
|
||
[](https://www.python.org/downloads/)
|
||
[](https://opensource.org/licenses/MIT)
|
||
|
||
> 🚀 **QuickStack** - 一款强大的全栈项目初始化工具,让你在几秒钟内搭建好前后端分离的开发环境。
|
||
|
||
## ✨ 功能特性
|
||
|
||
- **多种前端框架支持**: React, Vue
|
||
- **丰富的后端选择**: Go(标准库/Gin), Python(Flask/FastAPI/Django), Java(Spring Boot), JavaScript(Express.js/NestJS)
|
||
- **集成 Tailwind CSS**: 一键配置现代化的 CSS 框架
|
||
- **自动生成启动脚本**: Windows BAT 脚本,双击即可启动项目
|
||
- **跨域配置**: 所有后端模板均已配置 CORS,前后端联调无障碍
|
||
- **交互式 CLI**: 友好的命令行交互界面
|
||
|
||
## 📦 支持的技术栈
|
||
|
||
### 前端框架
|
||
- ⚛️ React (Vite + React)
|
||
- 💚 Vue (Vite + Vue)
|
||
|
||
### 后端框架
|
||
- 🐹 Go (标准库 http)
|
||
- 🚀 Go (Gin 框架)
|
||
- 🐍 Python (Flask)
|
||
- ⚡ Python (FastAPI)
|
||
- 🎯 Python (Django)
|
||
- ☕ Java (Spring Boot)
|
||
- 🟨 JavaScript (Express.js)
|
||
- 🐈⬛ JavaScript (NestJS)
|
||
|
||
## 🔧 环境要求
|
||
|
||
- Python 3.8+
|
||
- Node.js 16+ (前端项目和 JS 后端需要)
|
||
- Go 1.18+ (Go 后端需要)
|
||
- Java 17+ 和 Maven 3.6+ (Spring Boot 后端需要)
|
||
|
||
## 🚀 使用方法
|
||
|
||
### 1. 克隆项目
|
||
|
||
```bash
|
||
git clone <your-repo-url>
|
||
cd QuickStack
|
||
```
|
||
|
||
### 2. 运行初始化脚本
|
||
|
||
```bash
|
||
python main.py
|
||
```
|
||
|
||
### 3. 按照提示操作
|
||
|
||
- 输入项目名称(英文)
|
||
- 选择前端框架(React/Vue)
|
||
- 选择是否使用 Tailwind CSS
|
||
- 选择后端框架
|
||
|
||
### 4. 启动项目
|
||
|
||
进入生成的项目目录,双击运行:
|
||
|
||
- `开启前端.bat` - 启动前端开发服务器
|
||
- `开启后端.bat` - 启动后端服务
|
||
- `构建前端.bat` - 构建前端生产版本
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
QuickStack/
|
||
├── main.py # 主程序入口
|
||
├── utils.py # 工具函数
|
||
├── directory.py # 目录管理
|
||
├── scripts.py # 启动脚本生成
|
||
├── frontend/ # 前端模块
|
||
│ ├── react.py # React 初始化
|
||
│ ├── vue.py # Vue 初始化
|
||
│ └── tailwind.py # Tailwind CSS 配置
|
||
├── backend/ # 后端模块
|
||
│ ├── golang.py # Go 初始化
|
||
│ ├── python_flask.py # Flask 初始化
|
||
│ ├── python_fastapi.py# FastAPI 初始化
|
||
│ ├── python_django.py # Django 初始化
|
||
│ ├── java_spring.py # Spring Boot 初始化
|
||
│ ├── js_express.py # Express.js 初始化
|
||
│ └── js_nestjs.py # NestJS 初始化
|
||
└── README.md # 项目说明
|
||
```
|
||
|
||
## 🎯 生成的项目示例
|
||
|
||
```
|
||
myproject/
|
||
├── myproject-frontend/ # 前端项目
|
||
│ ├── src/
|
||
│ ├── package.json
|
||
│ └── ...
|
||
├── myproject-backend/ # 后端项目
|
||
│ ├── src/ 或 main.go 等
|
||
│ └── ...
|
||
├── 开启前端.bat # 启动前端
|
||
├── 开启后端.bat # 启动后端
|
||
└── 构建前端.bat # 构建前端
|
||
```
|
||
|
||
## 🔌 API 端点
|
||
|
||
所有后端模板都包含健康检查端点:
|
||
|
||
```
|
||
GET http://localhost:8080/api/health
|
||
```
|
||
|
||
响应示例:
|
||
```json
|
||
{
|
||
"status": "ok",
|
||
"message": "Welcome to myproject API"
|
||
}
|
||
```
|
||
|
||
## ⚙️ 自定义配置
|
||
|
||
### Tailwind CSS
|
||
|
||
如果选择使用 Tailwind CSS,会自动:
|
||
- 安装 tailwindcss、postcss、autoprefixer
|
||
- 初始化配置文件
|
||
- 更新 CSS 文件
|
||
- 创建示例组件
|
||
|
||
### CORS 跨域
|
||
|
||
所有后端模板均已配置 CORS,允许:
|
||
- 来源: `*` (所有域名)
|
||
- 方法: GET, POST, PUT, DELETE, OPTIONS
|
||
- 请求头: Content-Type, Authorization 等
|
||
|
||
## 📝 注意事项
|
||
|
||
1. **Windows 专用**: 本项目生成的启动脚本是 `.bat` 格式,专用于 Windows 系统
|
||
2. **Python 虚拟环境**: Python 后端会自动创建虚拟环境并安装依赖
|
||
3. **npm 依赖**: 前端项目会自动安装 npm 依赖
|
||
4. **端口**: 后端服务默认运行在 8080 端口
|
||
|
||
## 🐛 常见问题
|
||
|
||
### Q: 前端项目创建失败?
|
||
A: 请确保已安装 Node.js (16+) 和 npm,并检查网络连接。
|
||
|
||
### Q: Python 后端依赖安装失败?
|
||
A: 请确保 Python 环境正常,并检查 pip 是否可用。可以手动进入目录运行 `pip install -r requirements.txt`。
|
||
|
||
### Q: 如何修改默认端口?
|
||
A: 修改后端项目的配置文件或代码中的端口设置即可。
|
||
|
||
## 🤝 贡献
|
||
|
||
欢迎提交 Issue 和 Pull Request!
|
||
|
||
## 📄 许可证
|
||
|
||
MIT License
|
||
|
||
## 💖 致谢
|
||
|
||
感谢使用 QuickStack!祝开发愉快!
|
||
|
||
---
|
||
|
||
**QuickStack** - 让全栈开发更简单 🚀
|