项目简介
本项目是基于nodeJs开发的一个个人博客系统,由于此前对于node的不熟,总共历时3周时间(平时有点懒…),一边学习其语法,一边开发博客系统,由于其博客是仿照CSDN博客开发的,所以如果有一种CSDN的既视感,请不要吐槽…
- 该博客支持多人注册,首页按照博客发表时间,点击次数排行来更新首页内容
- 用户可注册账户并登陆,可以发表自己的博客文章,选择或者添加自己的分类
- 个人中心(由于当时开发的着重点是node后台,所以个人中心部分前端页面有点low),用户可以修改用户名和密码,也可以上传个人头像(如果不上传,系统分配默认头像)
- 后台部分,用户可自由上传修改删除博客文章、分类
- 系统包括首页、登录注册页、博客列表页、博客详细页、博客编辑修改页、个人中心页几个模块
项目结构
开发所用技术
整个项目结构是基于express搭建的,前台css使用bootstrap框架,数据库采用mongoDB,操作数据库使用的是mongoose模块,用户上传博客的编辑器是使用的是百度的ueditor插件
开发流程
1.开发环境的搭建
由于博客是基于node的,所以首先必须要搭建node环境,下载node和npm ,然后使用npm下载express && mongoose ,引用一些常用插件放在public/plugins目录下,我使用的是jQuery和bootstrap。
2.后台服务器的部署
当安装完express后,会有一个项目目录,express已经帮我们搭好了服务器,这时候在根目录下使用命令node bin/www即可开启服务器,在浏览器输入localhost:3000应该就会有一行欢迎界面(默认端口是3000),那么基本的服务器已经可以用了,如果出现错误或者无法访问的话,检查其端口是否被占用(我当时是被一个系统应用给占用了端口)。
3.服务器搭好了,我接下来是写了一个首页 ,首页上加了一个动画,看上去让自己的博客叼叼的,然后实际并没有起到什么作用。
4.接下来 根据一些简单的需求开始设计数据库,我的数据库只有三个表(因为当时只想在学习node的时候实现一些小功能就好了),分别是users(用户基本信息表)、contents(用户博客内容表)、cats表(用户博客分类表)
users表
contents表
cats表
5.数据库表设计好了,然后使用mongoose模板,连接数据库,
var mongoose=require("mongoose");
var db='mongodb://localhost:27017/blog';
mongoose.connect(db);
mongoose.connection.on('connected',function () {
console.log("connected..");
});
mongoose.connection.on('error',function (err) {
console.log("connected err"+err);
});
mongoose.connection.on('disconnected',function () {
console.log("disconnected");
});
process.on('SIGINT',function () {
mongoose.connection.close(function () {
console.log("close");
process.exit(0);
});
});