本项目包含多个 Git 子模块(submodule),用于拆分组件、公共模块等。 请严格按照下列步骤进行操作,否则会出现代码不全、依赖安装失败、无法运行、缺少菜单等问题。
在开始之前,请确保你已经安装以下工具:
| 工具 | 版本要求 | 检查命令 |
|---|---|---|
| Git | ≥ 2.30 | git --version |
| Node.js | ≥ 20 | node -v |
| pnpm | ≥ 10 | pnpm -v |
| SSH Key | 已添加到 GitHub | 见下方配置说明 |
项目中的子模块使用 SSH 地址,如果没有配置 SSH,会导致代码无法拉取。
打开 PowerShell 或 Git Bash,执行:
ls ~/.ssh/id_rsa.pub若提示文件不存在,请生成:
ssh-keygen -t rsa -C "你的邮箱@example.com"一路按回车即可。
cat ~/.ssh/id_rsa.pub复制输出的整段内容。
- GitHub: https://github.com/settings/keys
点击 “New SSH Key” → 粘贴上面复制的公钥。
ssh -T git@github.com若提示:
Hi username! You've successfully authenticated...
说明 SSH 设置成功。
ls ~/.ssh/id_rsa.pub若无文件,执行:
ssh-keygen -t rsa -C "你的邮箱@example.com"eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsapbcopy < ~/.ssh/id_rsa.pub(命令会自动复制内容到剪贴板)
- GitHub: https://github.com/settings/keys
点击 “New SSH Key” → 粘贴上面复制的公钥。
ssh -T git@github.com使用 pnpm 命令运行该项目,安装pnpm
项目内置有拉取子模块的命令
pnpm modules:init先查看子模块文件是否拉取完整,确保拉取完整之后再安装依赖
pnpm install这是添加在ts中添加子模块别名,一定要执行。后面每新增一个子模块都需要运行一次
# 修改tsconfig,将子模块的别名写入paths中
pnpm update:tsconfigpnpm dev- 运行完成之后在浏览器访问
http://localhost:9100即可
# 更新子仓库
pnpm modules:update
# 打包
pnpm build| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| ❌ 子模块代码为空 | 忘记使用 pnpm modules:init |
执行 pnpm modules:init |
| ❌ Permission denied (publickey) | SSH 没配置或公钥未添加 | 按上方 “SSH 配置” 步骤操作 |
| ❌ pnpm install 报错 | Node 版本过低或缓存损坏 | 升级 Node 至 ≥18 |
| ❌ 启动时报模块找不到 | 子模块未初始化 | 删除项目重新完整 clone |
| ❌ 初始化页面中,菜单初始化项显示 “系统初始化0个菜单” | 子模块代码没有拉取下来 | 检查子模块目录, 执行 pnpm modules:init |
| ❌ 登录进去之后页面没有菜单 | 菜单未初始化成功 | 进入 "/init-home" 进行初始化菜单操作 |
- chrome: ^105
- edge: ^105
- Firefox: ^140