本帖最后由 向善的灯 于 2024-11-24 18:37 编辑
ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。
近期,阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress,ReactPress一个基于 Next.js 的博客和 CMS 系统,可查看 demo站点。(@fecommunity 投稿)
项目简介
ReactPress 是使用React开发的开源发布平台,用户可以在支持React和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把 ReactPress 当作一个内容管理系统(CMS)来使用。
🆚 框架对比
以下是ReactPress 、WordPress 和 VuePress 三者的对比:
项目 |
ReactPress |
WordPress |
VuePress |
技术栈 |
React+NextJS+MySQL+NestJS |
PHP+MySQL |
Vue.js |
类型 |
开源发布平台/CMS |
开源发布平台/CMS |
静态网站生成器/文档工具 |
前后端分离 |
支持 |
不支持(传统方式) |
支持 |
组件化开发 |
支持 |
有限支持(通过插件和主题) |
支持 |
性能优化 |
虚拟DOM、代码分割、懒加载 |
依赖插件优化 |
静态页面生成,性能优越 |
SEO性能 |
出色(SSR支持) |
良好 |
优秀(静态页面) |
定制性 |
高(完全自定义主题和样式) |
高(通过插件和主题) |
中等(主题和组件定制) |
扩展性 |
强(API接口、前后端独立扩展) |
强(插件扩展) |
中等(插件和主题扩展) |
用户界面 |
现代化,基于React的组件化设计 |
用户友好的后台界面 |
简约,为技术文档优化 |
安全性 |
依赖框架和数据库的安全性 |
依赖插件和主题的更新与维护 |
静态网站,安全性较高 |
适用场景 |
复杂功能、高并发访问、SEO优化需求 |
快速搭建网站、内容发布和管理 |
技术文档、静态博客 |
用户群体 |
开发者、技术团队、个人博客、小型企业 |
个人博客、小型企业、初创公司 |
技术文档编写者、开发者 |
社区支持 |
活跃且不断成长 |
非常活跃,拥有庞大的用户群体 |
Vue.js社区支持 |
✨ 特性
- 📦 技术栈:基于
React + NextJS + MySQL 5.7 + NestJS 构建
- 🌈 组件化:基于
antd 5.20 最新版的交互语言和视觉风格
- 🌍 国际化:支持中英文切换,国际化配置管理能力
- 🌞 黑白主题:支持亮色和暗黑模式主题自由切换
- 🖌️ 创作管理:内置
MarkDown 编辑器,支持文章写文章、分类目录管理,标签管理
- 📃 页面管理:支持自定义新页面
- 💬 评论管理:支持内容评论管理
- 📷️ 媒体管理:支持文件本地上传和
OSS 文件上传
- 📱 移动端:完美适配移动端H5页面
- ...
🔥 在线示例
ReactPress Demo
⌨️ 本地开发
环境准备
$ git clone --depth=1 https://github.com/fecommunity/reactpress.git
$ cd reactpress
$ npm i -g pnpm
$ pnpm i
配置文件
项目启动后会加载根目录下的 .env 配置文件,请确保MySQL数据库服务和下面的配置保持一致,并提前创建好 reactpress 数据库
DB_HOST=127.0.0.1 // 数据库地址
DB_PORT=3306 // 端口
DB_USER=reactpress // 用户名
DB_PASSWD=reactpress // 密码
DB_DATABASE=reactpress // 数据库
环境准备好后,执行启动命令:
$ pnpm run dev
打开浏览器访问 http://127.0.0.1:3001
🔗 链接
强烈推荐阅读 《提问的智慧》、《如何向开源社区提问题》 和 《如何有效地报告 Bug》、《如何向开源项目提交无法解答的问题》,更好的问题更容易获得帮助。
👥 社区互助
如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,
通过 WeChat 联系,可通过搜素微信号 red_tea_v2 或扫码加入 ,并备注来源。
通过 GitHub Discussions 提问时,建议使用 Q&A 标签。
通过 Stack Overflow 或者 Segment Fault 提问时,建议加上 reactpress 标签。
- GitHub Discussions
- Stack Overflow(英文)
- Segment Fault(中文)
Email: admin@gaoredu.com
|