Node.js + Express + mongodb 的博客项目之前言(一)

前言

学习 Node.js 也有一段时间了,整个过程断断续续的,在学习过程中感觉内心还有点浮躁,所以就准备写一个 Node.js 的实战系列,让自己静下心来,同时这个过程也不断的巩固自己之前所学的知识,之后也方便自己进行知识回顾。


技术栈

  • Node.js

    Node.js 的出现是为了解决 WEB 服务器的高并发性能问题,慢慢演化成一门后端语言。

  • Express

    Express 是一个 Node.js 的 WEB 框架,封装了很多种方法,提高了我们的开发效率,可以设置中间件来响应 HTTP 请求。

  • mongodb

    mongodb 是一个非关系型的数据库,轻量级的数据库,也就是集合型的,如同 json 的那般数据格式

  • ejs 模板引擎

    模板引擎嘛,后端渲染数据,动态生成 html ,和以前学的 Java Web 中的 jsp 基本差不多。

  • mongoose

    mongodb 的数据库驱动,里面封装了对数据库的各种基本操作,怎么省事怎么来

  • jQuery

    省时省力的 DOM 操作

  • Bootstrap

    响应式的 UI 库,便捷开发


项目结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
node_blog

│ app.js // 入口文件

│ package.json // 项目依赖配置文件

│───models // 数据库的模型,提供相应的数库操作

│───node_modules // 存放各种node模块和express框架

│───my_modules // 自己编写的模块

│———routes // 存放路由文件

│———schemas // 数据库里要存储的数据结构

│———public // 静态资源库,用于存放静态资源的

└───views // 视图文件,也就是模板

项目的设计模式远远比良好的数据结构和代码质量重要的多,看上面的项目结构,很明显的 MVC 标准结构,MVC 要实现的目标是将软件用户界面和业务逻辑分离以使代码可扩展性、可复用性、可维护性、灵活性加强。
View层是界面,Model层是业务逻辑,Controller层用来调度View层和Model层,将用户界面和业务逻辑合理的组织在一起,起粘合剂的效果。


博客功能及路由设计

api.js –> 提供相关接口

POST /user/register 用户注册
POST /user/login 用户登录
GET /user/logout 用户登出


admin.js –> 博客后台路由

GET / 后台首页
GET /user 用户管理

GET /category 文章分类管理界面
GET /category/add 文章分类添加界面
POST /category/add 文章分类添加的保存
GET /category/edit 文章分类修改界面
POST /category/edit 文章分类修改的保存
GET /category/delete?id=xxx 文章分类删除

GET /content 文章管理界面
GET /content/edit 文章修改界面
POST /content/edit 文章修改的保存
GET /content/add 文章添加界面
POST /content/add 文章添加的保存
GET /content/delete?id=xxx 文章的删除


index.js –> 博客前台界面路由

GET / 首页


未完待续

------ 本文结束 ------

版权声明

Tflin's Blog by Tan Feng Lin is licensed under a Creative Commons BY-NC-ND 4.0 International License.
谭丰林创作并维护的Tflin's Blog博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Tflin's Blog 博客( http://tflin.com ),版权所有,侵权必究。