46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# 项目结构分析
|
|
|
|
这是一个使用 [JHipster](https://www.jhipster.tech/) 生成的全栈 Web 应用程序项目。项目整合了 Java 后端和现代前端技术栈。
|
|
|
|
## 核心技术栈
|
|
|
|
- **后端**:
|
|
|
|
- **语言**: Java
|
|
- **框架**: Spring Boot
|
|
- **构建工具**: Apache Maven (`pom.xml`)
|
|
- **数据库迁移**: Liquibase (`src/main/resources/config/liquibase/`)
|
|
|
|
- **前端**:
|
|
- **语言**: TypeScript
|
|
- **框架**: Vue.js (`src/main/webapp/app/app.vue`)
|
|
- **构建/开发工具**: Vite (`vite.config.mts`)
|
|
- **包管理器**: npm (`package.json`)
|
|
|
|
## 目录结构
|
|
|
|
- `pom.xml`: 定义了 Java 项目的依赖和构建生命周期,是 Maven 项目的核心。
|
|
- `package.json`: 定义了前端项目的依赖和脚本,是 npm/Node.js 项目的核心。
|
|
- `src/main/java/com/vxnet/pms/`: 存放所有后端 Java 源代码。
|
|
- `src/main/resources/`: 存放后端应用的配置文件 (`application.yml`)、国际化资源 (`i18n/`) 和数据库迁移脚本 (Liquibase)。
|
|
- `src/main/webapp/`: 存放所有前端代码和资源。
|
|
- `app/`: 前端 Vue/TypeScript 应用程序的源代码。
|
|
- `content/`: 存放 CSS 和图片等静态资源。
|
|
- `i18n/`: 前端国际化文件。
|
|
- `src/test/`: 包含了后端 (Java/JUnit) 和前端 (TypeScript/Vitest) 的测试代码。
|
|
- `src/main/docker/`: 包含了用于构建和运行应用的 Docker Compose 配置文件,方便进行容器化部署(例如,`app.yml`, `mysql.yml`)。
|
|
|
|
## 开发与质量工具
|
|
|
|
- **版本控制**: Git (`.git/`)。
|
|
- **代码质量**:
|
|
- ESLint (`eslint.config.mjs`) 和 Prettier (`.prettierrc`) 用于保证前端代码风格和质量。
|
|
- Checkstyle (`checkstyle.xml`) 用于 Java 代码规范。
|
|
- SonarQube (`sonar-project.properties`) 用于静态代码分析。
|
|
- **Git Hooks**: Husky (`.husky/`) 用于在提交代码前自动运行检查 (linting)。
|
|
- **开发容器**: 支持使用 Dev Containers (`.devcontainer/`) 进行标准化的容器化开发。
|
|
|
|
## 总结
|
|
|
|
该项目是一个结构清晰、工具链完善的 JHipster 单体应用。它遵循了标准的 Maven 和 npm 项目布局,将后端和前端代码清晰地分离在同一个仓库中。开发者可以通过 `mvnw` (或 `mvnw.cmd`) 来管理后端,通过 `npmw` (或 `npmw.cmd`) 来管理前端。
|