跳到主要内容

Monorepo 本地开发

本文面向向 ReactPress 仓库贡献代码或需要调试 core / 主题 / 插件的开发者。

环境准备

git clone --depth=1 https://github.com/fecommunity/reactpress.git
cd reactpress
npm i -g pnpm
pnpm install
要求说明
Node.js≥ 20
pnpm9.x(见 packageManager 字段)
Docker可选;默认 SQLite 可不装
OSmacOS / Linux / Windows

仓库结构

├─ cli/ # @fecommunity/reactpress 发布物
├─ server/ # NestJS API
├─ web/ # Vite Admin SPA
├─ desktop/ # Electron 桌面壳
├─ toolkit/ # OpenAPI SDK + React 集成
├─ themes/ # 官方主题 registry
├─ plugins/ # 官方插件 registry
├─ docs/ # 本官方文档站(Docusaurus)
└─ package.json

首次启动

pnpm run init # 生成 .reactpress/ + .env(可选,dev 也会处理)
pnpm run build:plugins # 开发插件前必须编译官方插件
pnpm dev # API :3002 + Admin :3000 + Theme :3001

等价于终端用户 reactpress init 后的全栈,但使用 workspace 源码而非 npm bundled 包。

分进程开发

命令用途
pnpm dev:api仅调试 Server
pnpm dev:webAdmin + API
pnpm dev:client仅主题
pnpm dev:desktopElectron + SQLite
pnpm dev:docs文档站 http://localhost:3000(docs 包独立端口,见终端输出)

构建与测试

pnpm run build # 全量生产构建
pnpm run build:toolkit # 修改 OpenAPI 客户端后
pnpm run build:web # 仅 Admin
pnpm run build:server # 仅 API
pnpm test # CLI 单元测试
pnpm run test:smoke # API health 冒烟
pnpm run typecheck # TS 检查

修改 CLI 后

pnpm run build:cli
node ./cli/bin/reactpress.js doctor

文档站开发

pnpm dev:docs
# 或
cd docs && pnpm dev

文档源文件:docs/tutorial/(中文),英文翻译:docs/i18n/en/docusaurus-plugin-content-docs/current/

提交规范

  • 代码与 commit message:English
  • 用户文档:英文 README + 中文 README-zh_CN.md;本站中文为主、英文 i18n 同步
  • 见仓库 CONTRIBUTING.md

与全局 CLI 的差异

全局 @fecommunity/reactpressMonorepo pnpm dev
API 来源bundled in CLIworkspace server/
命令init / doctor / logs / stop完整 dev / build / pm2
适用建站用户core / 主题 / 插件贡献

相关文档