# MonoTurboManage **Repository Path**: sunshine824/mono-turbo-manage ## Basic Information - **Project Name**: MonoTurboManage - **Description**: 采用Monorepo + Turborepo+Qiankun 微服务架构 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-22 - **Last Updated**: 2025-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Monorepo Project Readme ## 简介 这是一个基于 pnpm Workspaces + Turborepo 构建的 Monorepo 项目,旨在提供一个可扩展、易于维护的前端开发框架。项目包含了多个独立的应用和共享的软件包,实现了代码的高效复用和统一管理。 ## 技术栈 - **包管理器**: [pnpm](https://pnpm.io/) - **Monorepo 管理**: [Turborepo](https://turbo.build/repo) - **前端框架**: [React 19](https://react.dev/) - **UI 组件库**: [Ant Design](https://ant.design/) - **编程语言**: [TypeScript](https://www.typescriptlang.org/) - **构建工具**: [Vite](https://vitejs.dev/) - **CSS 方案**: [UnoCSS](https://unocss.dev/) - **代码规范**: ESLint + Prettier + husky + commitlint ## 目录结构 ``` . ├── apps/ # 存放各个应用的目录 │ ├── admin-app/ # 后台管理应用 │ └── web-app/ # C端H5应用 ├── packages/ # 存放公共包的目录 │ ├── contexts/ # 公共上下文 │ ├── hooks/ # 公共 hooks │ ├── store/ # 公共状态管理 │ ├── types/ # 公共类型定义 │ ├── ui-components/ # 公共UI组件 │ ├── utils/ # 公共工具函数 │ └── vite-config/ # vite 公共配置 ├── .commitlintrc.cjs # Commitlint 配置文件 ├── .husky/ # Husky 配置文件 ├── eslint.config.js # ESLint 配置文件 ├── package.json # 根目录 package.json ├── pnpm-workspace.yaml # pnpm 工作区配置文件 ├── turbo.json # Turborepo 配置文件 └── ... ``` ## 快速开始 ### 1. 环境准备 请确保你的开发环境已经安装了 [Node.js](https://nodejs.org/) (>=18.0.0) 和 [pnpm](https://pnpm.io/installation)。 ### 2. 安装依赖 在项目根目录下执行以下命令安装所有依赖: ```bash pnpm install ``` ### 3. 启动项目 你可以一次性启动所有应用,也可以单独启动某个应用。 **启动所有应用:** ```bash pnpm dev ``` **启动指定应用 (例如 `web-app`):** ```bash pnpm dev --filter=web-app ``` ### 4. 构建项目 **构建所有应用:** ```bash pnpm build: 环境名 ``` 构建完成后,所有应用的 `dist` 文件会根据 `scripts/collect-dist.sh` 脚本的配置,统一收集到项目根目录的 `dist` 文件夹下,并以应用名进行区分。 ## 可用脚本 我们提供了一些常用的 npm 脚本来简化开发流程: - `pnpm dev`: 启动所有应用的开发服务器。 - `pnpm build: 环境名`: 构建所有应用,并收集产物。 - `pnpm lint`: 对整个项目进行代码规范检查。 - `pnpm lint:fix`: 自动修复可以修复的代码规范问题。 ## Git 提交规范 为了保证 Git 提交历史的清晰和可追溯性,本项目遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范。在提交代码时,我们使用 `commitlint` 和 `husky` 来强制校验提交信息。 每次提交时,你的 `commit message` 都必须遵循以下格式: ``` (): ``` **常用的 `type` 包括:** - `feat`: 新功能 (feature) - `fix`: 修复 bug - `docs`: 文档变更 - `style`: 代码格式 (不影响代码运行的变动) - `refactor`: 重构 (既不是增加 feature,也不是修复 bug) - `perf`: 性能优化 - `test`: 增加测试 - `chore`: 构建过程或辅助工具的变动 - `revert`: 回滚 **示例:** ```bash # 示例1: 添加一个新的功能 feat(web-app): ✨ add user login page # 示例2: 修复一个 bug fix(admin-app): 🐛 correct user data fetching logic ``` 我们推荐使用 emoji 为你的提交增加趣味性和可读性。