项目简介
本项目是一个基于React和Node.js的简洁个人博客系统。前端借助React Hooks和Redux开发,后端运用Koa2框架与MySQL数据库交互,实现了文章管理、用户管理、评论功能等博客基本功能。系统支持通过导入Markdown文件快速生成文章,还具备响应式设计、文章锚点导航、回到顶部功能、Markdown代码高亮等特性。
项目的主要特性和功能
- 前端功能:
- 响应式设计,适配多种设备。
- 文章锚点导航,方便用户快速定位内容。
- 回到顶部功能,提升用户体验。
- Markdown代码高亮显示,支持代码块的语法高亮。
- 后端功能:
- 使用Sequelize作为ORM与MySQL数据库交互。
- 实现用户管理、文章管理、评论管理等功能。
- 支持JWT鉴权,确保系统安全性。
- 提供邮件通知功能,用户评论后可收到邮件通知。
- 用户功能:
- 支持站内用户注册与登录。
- 用户可对文章进行评论和回复。
- 导入导出功能:
- 支持通过上传Markdown文件生成文章。
- 支持导出文章为Markdown格式。
安装使用步骤
1. 复制项目
将项目复制到本地:
bash
2. 安装依赖
进入项目目录,安装前端和后端的依赖:
bash
cd react-blog
yarn
3. 配置数据库
在server/config/index.js
中配置数据库连接信息。确保MySQL数据库已创建,并且字符集设置为utf8mb4
:
sql
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4. 启动开发服务器
启动前端和后端的开发服务器: ```bash yarn dev
cd server yarn dev ```
5. 打包前端
若需要打包前端代码用于生产环境,可运行以下命令:
bash
yarn build
6. 部署后端
在生产环境中,可使用pm2
等进程管理工具来部署后端服务:
bash
pm2 start app.js
配置说明
前端配置 (src/config.js
)
API_BASE_URL
:后端API的基础URL。HEADER_BLOG_NAME
:博客的标题。
后端配置 (server/config/index.js
)
DATABASE
:数据库连接配置。EMAIL_NOTICE
:邮件通知服务的配置。TOKEN
:JWT鉴权的配置。
注意事项
- 数据库字符集需设置为
utf8mb4
,否则可能出现字符集错误。 - 邮件服务需要配置正确的SMTP服务器信息以及授权码,而非密码。
许可证
本项目采用MIT许可证,详细信息请参阅LICENSE文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】