✨ 新增启动脚本: - start-full-project.sh: 完整的前后端启动脚本,含环境检查 - dev-start.sh: 开发环境快速启动脚本 - stop-full-project.sh: 停止所有服务的脚本 📖 新增文档: - STARTUP_GUIDE.md: 详细的启动指南和故障排除 - 更新 README.md: 添加项目结构说明和启动脚本介绍 🔧 功能特点: - ✅ 自动环境检查(Java、Node.js、MongoDB) - ✅ 智能进程管理和端口清理 - ✅ 详细的启动日志和状态检查 - ✅ 交互式和静默启动模式 - ✅ 完整的故障排除指南 🎯 适配新项目结构: - 后端:项目根目录 (Spring Boot) - 前端:frontend/ 子目录 (Vue.js) - 一键启动完整的前后端开发环境 📋 三种启动方式: 1. dev-start.sh - 开发快速启动 ⭐ 推荐 2. start-full-project.sh - 完整启动检查 3. 手动分别启动 - 调试使用 现在开发者只需一个命令即可启动完整的前后端开发环境!
223 lines
4.7 KiB
Markdown
223 lines
4.7 KiB
Markdown
# 🚀 JmalCloud 前后端启动指南
|
||
|
||
> 完整的前后端集成项目启动说明
|
||
|
||
## 📋 项目结构确认
|
||
|
||
### ✅ 前后端代码完整性检查
|
||
|
||
**后端代码** (根目录):
|
||
- ✅ `src/main/` - Java源代码
|
||
- ✅ `src/test/` - 测试代码
|
||
- ✅ `pom.xml` - Maven配置
|
||
- ✅ `target/` - 编译输出
|
||
|
||
**前端代码** (`frontend/` 目录):
|
||
- ✅ `src/` - Vue.js源代码
|
||
- ✅ `package.json` - NPM配置
|
||
- ✅ `vue.config.js` - Vue CLI配置
|
||
- ✅ `public/` - 静态资源
|
||
|
||
## ⚙️ 环境要求
|
||
|
||
### 后端要求
|
||
- ☑️ **Java**: 21+ (推荐)
|
||
- ☑️ **Maven**: 3.6+
|
||
- ☑️ **MongoDB**: 4.4+ (需要运行中)
|
||
|
||
### 前端要求
|
||
- ☑️ **Node.js**: ^16 或 ^18 (package.json指定)
|
||
- ☑️ **npm**: 自带或yarn
|
||
- ☑️ **Vue CLI**: 自动安装
|
||
|
||
## 🚀 启动方式
|
||
|
||
### 方式1:开发环境快速启动 ⭐️ 推荐
|
||
|
||
```bash
|
||
# 一键启动前后端 (后台运行)
|
||
./dev-start.sh
|
||
```
|
||
|
||
**特点**:
|
||
- ✅ 最简单快速
|
||
- ✅ 后台运行,不占用终端
|
||
- ✅ 适合日常开发
|
||
|
||
**访问地址**:
|
||
- 🌐 前端:http://localhost:9528
|
||
- 🔌 后端:http://localhost:8088
|
||
|
||
### 方式2:完整交互式启动
|
||
|
||
```bash
|
||
# 完整的启动过程,带环境检查
|
||
./start-full-project.sh
|
||
```
|
||
|
||
**特点**:
|
||
- ✅ 完整的环境检查
|
||
- ✅ 详细的启动日志
|
||
- ✅ 交互式选项
|
||
- ✅ 自动健康检查
|
||
|
||
### 方式3:手动分别启动
|
||
|
||
**启动后端**:
|
||
```bash
|
||
# 设置环境变量
|
||
export MONGODB_URI="mongodb://localhost:27017/jmalcloud"
|
||
|
||
# 启动Spring Boot
|
||
mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||
```
|
||
|
||
**启动前端**:
|
||
```bash
|
||
cd frontend/
|
||
|
||
# 安装依赖 (首次运行)
|
||
npm install
|
||
|
||
# 设置环境变量
|
||
export NODE_OPTIONS="--openssl-legacy-provider"
|
||
export VUE_APP_BASE_API="/api"
|
||
export API="http://localhost:8088"
|
||
|
||
# 启动Vue开发服务器
|
||
npm run dev
|
||
```
|
||
|
||
## 🛑 停止服务
|
||
|
||
```bash
|
||
# 停止所有服务
|
||
./stop-full-project.sh
|
||
```
|
||
|
||
## 📊 服务管理
|
||
|
||
### 查看运行状态
|
||
```bash
|
||
# 检查端口占用
|
||
lsof -ti:8088 # 后端
|
||
lsof -ti:9528 # 前端
|
||
|
||
# 检查进程
|
||
ps aux | grep spring-boot
|
||
ps aux | grep vue-cli-service
|
||
```
|
||
|
||
### 查看日志
|
||
```bash
|
||
# 实时查看日志
|
||
tail -f backend.log # 后端日志
|
||
tail -f frontend.log # 前端日志
|
||
|
||
# 或同时查看
|
||
tail -f backend.log frontend.log
|
||
```
|
||
|
||
## 🔧 常见问题解决
|
||
|
||
### 1. Node.js版本问题
|
||
如果Node.js版本不匹配:
|
||
|
||
```bash
|
||
# 使用nvm管理Node.js版本
|
||
nvm install 18
|
||
nvm use 18
|
||
|
||
# 或设置兼容选项
|
||
export NODE_OPTIONS="--openssl-legacy-provider"
|
||
```
|
||
|
||
### 2. 端口冲突
|
||
修改端口配置:
|
||
|
||
```bash
|
||
# 修改后端端口
|
||
export SERVER_PORT=8089
|
||
|
||
# 修改前端端口
|
||
export PORT=9529
|
||
```
|
||
|
||
### 3. MongoDB连接失败
|
||
```bash
|
||
# 启动MongoDB
|
||
brew services start mongodb-community # macOS
|
||
# 或
|
||
systemctl start mongod # Linux
|
||
|
||
# 检查连接
|
||
mongosh --eval "db.adminCommand('ping')"
|
||
```
|
||
|
||
### 4. Maven构建失败
|
||
```bash
|
||
# 清理并重新构建
|
||
mvn clean compile
|
||
|
||
# 跳过测试
|
||
mvn spring-boot:run -DskipTests
|
||
```
|
||
|
||
### 5. 前端依赖安装失败
|
||
```bash
|
||
cd frontend/
|
||
|
||
# 清理缓存
|
||
npm cache clean --force
|
||
rm -rf node_modules package-lock.json
|
||
|
||
# 重新安装
|
||
npm install
|
||
```
|
||
|
||
## 🎯 开发建议
|
||
|
||
### 推荐的开发流程
|
||
1. **首次启动**:使用 `./start-full-project.sh` 进行完整检查
|
||
2. **日常开发**:使用 `./dev-start.sh` 快速启动
|
||
3. **调试问题**:查看对应的日志文件
|
||
4. **停止服务**:使用 `./stop-full-project.sh` 完整停止
|
||
|
||
### 默认访问地址
|
||
| 服务 | 地址 | 说明 |
|
||
|------|------|------|
|
||
| **前端主页** | http://localhost:9528 | Vue.js开发服务器 |
|
||
| **后端API** | http://localhost:8088 | Spring Boot应用 |
|
||
| **健康检查** | http://localhost:8088/public/health | 后端状态检查 |
|
||
| **API文档** | http://localhost:8088/swagger-ui/ | 接口文档 |
|
||
|
||
### 登录信息
|
||
- **用户名**:`admin`
|
||
- **密码**:`123456`
|
||
|
||
## 📁 项目文件说明
|
||
|
||
| 文件 | 说明 | 用途 |
|
||
|------|------|------|
|
||
| `start-full-project.sh` | 完整启动脚本 | 生产级启动,含环境检查 |
|
||
| `dev-start.sh` | 开发快速启动 | 日常开发使用 |
|
||
| `stop-full-project.sh` | 停止脚本 | 清理所有服务和端口 |
|
||
| `backend.log` | 后端日志 | Spring Boot运行日志 |
|
||
| `frontend.log` | 前端日志 | Vue CLI开发服务器日志 |
|
||
|
||
## 💡 提示
|
||
|
||
1. **首次运行**建议使用 `./start-full-project.sh` 进行环境检查
|
||
2. **前端首次启动**会自动安装依赖,请耐心等待
|
||
3. **后端首次启动**需要编译,大约需要1-2分钟
|
||
4. **MongoDB必须先启动**,否则后端会连接失败
|
||
5. **端口占用**时脚本会自动清理旧进程
|
||
|
||
## 🆘 获得帮助
|
||
|
||
如果遇到问题:
|
||
1. 检查对应的日志文件
|
||
2. 确认环境要求是否满足
|
||
3. 尝试手动启动排查问题
|
||
4. 使用停止脚本清理环境后重试
|