littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于React和Node.js的个人博客系统

项目简介

本项目是一个基于React和Node.js的简洁个人博客系统。前端借助React Hooks和Redux开发,后端运用Koa2框架与MySQL数据库交互,实现了文章管理、用户管理、评论功能等博客基本功能。系统支持通过导入Markdown文件快速生成文章,还具备响应式设计、文章锚点导航、回到顶部功能、Markdown代码高亮等特性。

项目的主要特性和功能

  1. 前端功能
    • 响应式设计,适配多种设备。
    • 文章锚点导航,方便用户快速定位内容。
    • 回到顶部功能,提升用户体验。
    • Markdown代码高亮显示,支持代码块的语法高亮。
  2. 后端功能
    • 使用Sequelize作为ORM与MySQL数据库交互。
    • 实现用户管理、文章管理、评论管理等功能。
    • 支持JWT鉴权,确保系统安全性。
    • 提供邮件通知功能,用户评论后可收到邮件通知。
  3. 用户功能
    • 支持站内用户注册与登录。
    • 用户可对文章进行评论和回复。
  4. 导入导出功能
    • 支持通过上传Markdown文件生成文章。
    • 支持导出文章为Markdown格式。

安装使用步骤

1. 复制项目

将项目复制到本地: bash

2. 安装依赖

进入项目目录,安装前端和后端的依赖: bash cd react-blog yarn

3. 配置数据库

server/config/index.js中配置数据库连接信息。确保MySQL数据库已创建,并且字符集设置为utf8mb4sql 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鉴权的配置。

注意事项

  1. 数据库字符集需设置为utf8mb4,否则可能出现字符集错误。
  2. 邮件服务需要配置正确的SMTP服务器信息以及授权码,而非密码。

许可证

本项目采用MIT许可证,详细信息请参阅LICENSE文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】