跳到主要内容

核心概念

ReactPress 是发布平台,不是单纯的 Headless CMS。理解各组件职责,有助于选型与扩展。

一句话定义

Admin 管内容 · 主题管呈现 · 插件管逻辑 · API 管数据 · Toolkit 管契约

五大组件

组件技术端口职责
AdminReact + Vite SPA3001 /admin/写文章、管媒体、装主题/插件、站点设置(Monorepo 开发时可能为 :3000)
APINestJS3002持久化、鉴权、Hook、Headless REST
ThemeNext.js SSR/ISR3001访客看到的网站(可完全替换)
PluginNode 模块 + Hook服务端逻辑扩展(SEO、摘要、图片优化等)
DesktopElectron离线写作、SQLite 本地模式、同步到远程

与 WordPress 的对应关系

WordPressReactPress说明
wp-adminAdmin (:3001/admin/)内容管理界面
Themethemes/* (:3001)访客前端,npm 可安装
Pluginplugins/*Hook 扩展,不修改主题
REST API/api/*Headless 默认开启
Desktop本地优先写作(WordPress 无对等物)

数据流

  1. 作者在 AdminDesktop 创建文章
  2. 请求经 Toolkit SDK 到达 API
  3. Plugin 在 Hook 点改写摘要、SEO 字段等
  4. 数据写入 SQLite / MySQL
  5. Theme 通过 API 拉取内容并 SSR 渲染给访客

架构红线

  • Admin 不包含访客页面主题不包含 Admin 路由
  • 所有前端(Admin、主题、插件 UI)仅通过 Toolkit 访问 API
  • Server 不依赖任何前端包

详见 系统架构概览

目录与运行时

my-site/
├── .reactpress/
│ ├── config.json # 配置源(端口、数据库、URL)
│ ├── runtime/{theme-id}/ # 已安装主题
│ ├── plugins/{plugin-id}/ # 已安装插件
│ └── reactpress.db # SQLite(默认)
├── .env # CLI 自动生成,勿手改
└── uploads/ # 媒体上传目录

两种用户路径

路径适用入口
终端用户建站、写博客npm i -g @fecommunity/reactpressinit
贡献者改 core、写主题/插件clone monorepo → pnpm dev

相关文档