node-blog/README.md
2025-06-24 11:44:17 +08:00

136 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 博客系统
基于 Node.js + Express + MongoDB + EJS 的博客系统。
## 功能特性
- 用户注册和登录
- 博客文章管理
- 友情链接管理
- 响应式设计
- 管理员后台
## 技术栈
- **后端**: Node.js + Express
- **数据库**: MongoDB + Mongoose
- **模板引擎**: EJS
- **会话管理**: express-session + connect-mongo
- **样式**: CSS3 + Grid布局
## 项目结构
```
ChenLilong_Blog/
├── app.js # 主应用文件
├── models/ # 数据模型
│ ├── Post.js # 博客文章模型
│ ├── User.js # 用户模型
│ ├── Link.js # 友情链接模型
│ └── ...
├── routes/ # 路由文件
│ ├── user/ # 用户相关路由
│ └── admin/ # 管理员路由
├── views/ # 视图模板
│ ├── user/ # 用户页面
│ └── admin/ # 管理员页面
├── middleware/ # 中间件
├── db/ # 数据库相关
└── uploads/ # 上传文件
```
## 安装和运行
### 1. 安装依赖
```bash
npm install
```
### 2. 启动MongoDB数据库
双击运行 `数据库启动.bat` 或在命令行中运行:
```bash
mongod --dbpath C:\data\db
```
### 3. 初始化测试数据(可选)
双击运行 `初始化数据.bat` 或在命令行中运行:
```bash
node db/init.js
```
### 4. 启动应用
双击运行 `项目启动.bat` 或在命令行中运行:
```bash
node app.js
```
### 5. 访问应用
打开浏览器访问http://localhost:3001
## 首页功能
### 左侧:博客文章列表
- 显示最新的10篇博客文章
- 每篇文章显示标题、作者、分类、发布时间
- 文章内容预览限制150字符
- 阅读全文链接
### 右侧:友情链接
- 显示所有友情链接
- 点击链接在新标签页中打开
- 悬停效果和动画
## 管理员功能
访问 http://localhost:3001/admin 进入管理员后台:
- 用户管理
- 文章管理
- 分类管理
- 评论管理
- 友情链接管理
## 数据库配置
默认数据库配置:
- 数据库名blog
- 连接地址mongodb://127.0.0.1:27017/blog
## 注意事项
1. 确保MongoDB已正确安装并运行
2. 首次运行建议先执行数据初始化脚本
3. 管理员账号需要在数据库中手动创建或通过注册功能创建
![image-20250624113519953](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113519953.png)
![image-20250624113527404](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113527404.png)
![image-20250624113549797](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113549797.png)
![image-20250624113559568](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113559568.png)
![image-20250624113612329](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113612329.png)
![image-20250624113623177](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113623177.png)
![image-20250624113628972](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113628972.png)
![image-20250624113638050](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113638050.png)
![image-20250624113644382](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113644382.png)
![image-20250624113652652](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113652652.png)
![image-20250624113704419](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113704419.png)
![image-20250624113714538](https://xy-md-assets.oss-cn-hangzhou.aliyuncs.com/image-20250624113714538.png)