# subapp-react 生成器

在已有 Monorepo 的 `apps/` 下创建 React 子应用。详细说明见 [docs/generators.md#subapp-react](../../docs/generators.md#subapp-react)。

## 快速索引

| 文件 | 职责 |
|---|---|
| `index.js` | 生成器主体；含三处对主应用的联动修改 |
| `meta.json` | `mico list` 展示信息 |
| `ignore-list.json` | 模板过滤清单 |
| `templates/homepage/` | 模板根，本生成器以 `homepage` 作为模板目录名 |

## 使用

```bash
cd <monorepo-root>
mico create subapp-react
```

要求 monorepo 根包含 `apps/` 目录。

## 联动修改

非 dry-run 时会尝试原位修改主应用以下文件（任一缺失静默跳过）：

| 文件 | 修改 |
|---|---|
| `dev.preset.json` | 向 `presets.full.apps` 追加 `appName` |
| `apps/layout/mock/pages.ts` | 在兜底路由前插入页面项（`routeKey = cs_web_menu_<snake>_page`） |
| `apps/layout/mock/api.mock.ts` | 将 `routeKey` 加入 `menu_perms` |

修改完成后 prettier 仅格式化这两个 mock 文件。

## 模板同步

从源仓库的 `apps/homepage` 同步模板：

```bash
pnpm sync:subapp-react-template -- <source-project-root>
```

详见 [docs/scripts.md](../../docs/scripts.md)。
