MongoDB + express + node + bootstrap 搭建多人博客
这篇博客讲述如何搭建一个多人博客,需要一定的基础知识,用于思路整理和备忘。
第一步: 新建文件夹 blog ,结构如下:

- bin --- 可执行二进制文件,最终的启动接口。
- models --- 存储与数据、操作数据相关文件。
- public --- 存储静态文件。
- routes --- 存储路由文件。
- views --- 存储视图文件。
- app.js --- 程序主文件。
- package.json --- 程序相关信息。
第二步: 安装依赖模块
cnpm install express express-session connect-mongo connect-flash ejs markdown multer morgan serve-favicon debug cookie-parser body-parser mongodb --save
模块的主要作用如下:
- express --- web框架
- express-session --- express session中间件,用于处理session
- connect-mongo --- 配合session使用,用于将session连接数据库
- connect-flash --- 页面提示的中间件,基于session实现
- ejs --- 模板引擎
- markdown --- markdown文本解析中间件。
- multer --- 用于处理enctype="multipart/form-data"的表单数据。
- morgan --- 日志中间件。
- serve-favicon --- 处理web网站icon中间件
- debug --- 调试使用
- cookie-parser --- 处理cookie的中间件
- body-parser --- 处理post请求的中间件
- mongodb --- 连接数据库
第三步: 添加配置文件
在主目录下添加setting.js文件,配置端口号,数据库等基本信息,如下:
module.exports = {
cookieSecret: 'myblog',
db: 'blog',
host: 'localhost',
port:
};
第四步: 功能设计与路由设计
- 注册、登录、登出
- 查看文章、编辑文章、发表文章、删除文章
- 评论(留言)
- 页面通知: 使用connect-flash实现。connect-flash 是基于 session 实现的,它的原理很简单:设置初始值
req.session.flash={},通过req.flash(name, value)设置这个对象下的字段和值,通过req.flash(name)获取这个对象下的值,同时删除这个字段。
第五步: 权限设置
在主目录下添加 middlewares文件夹,添加文件check.js,如下:
module.exports = {
checkLogin: function checkLogin(req, res, next) {
if (!req.session.user) {
req.flash('error', '未登录');
return res.redirect('/signin');
}
next();
},
checkNotLogin: function checkNotLogin(req, res, next) {
if (req.session.user) {
req.flash('error', '已登录');
return res.redirect('back');//返回之前的页面
}
next();
}
};
第六步: 路由文件
根据功能设置路由
MongoDB + express + node + bootstrap 搭建多人博客的更多相关文章
- 设计node.js搭建多人博客的思路(不讲数据库)
1.1.4:搭建多人博客 1.功能分析 搭建一个简单的多人注册,登录,发表文章及登出功能的博客 2.设计目标 未登录:主页左侧导航显示home.login.register,右侧显示已发表文章,发表日 ...
- 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客
序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...
- nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客
GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...
- 第1章 Express MongoDB 搭建多人博客
学习环境 Node.js : 0.10.22 + Express : 3.4.4 + MongoDB : 2.4.8 + 快速开始 安装 Express express 是 Node.js 上最流行的 ...
- 【nodejs笔记4】搭建多人博客<内含http请求的get post方法区别>
功能分析 博客具有四个功能:注册 登录 登出 发表文章 界面设计 未登录: [主页 注册页 登录页] [主页] 主页 左侧 HOME ...
- 使用express+mongoDB搭建多人博客 学习(6)发表文章
发表文章 1.在modules文件夹下新建post.js var mongodb=require("./db"); function Post(name,title,post){ ...
- 使用express+mongoDB搭建多人博客 学习(3)connect-flash和mongodb,表单注册
1.根目录下新建settings.js,存放数据库配置 module.exports={ cookieSecret:"myblog", db:"blog", h ...
- 使用express+mongoDB搭建多人博客 学习(5)权限控制
修改index.js如下: var express = require('express'); var router = express.Router(); var crypto=require('c ...
- 使用express+mongoDB搭建多人博客 学习(2)路由与模板
修改index.js路由规则: var express = require('express'); var router = express.Router(); /* GET home page. * ...
随机推荐
- 《Maven实战》笔记-4-生命周期和插件
除了坐标.依赖以及仓库外,Maven另外两个核心概念是生命周期和插件. 一.生命周期 Maven的生命周期是抽象的,其本身不做任务实际的工作,实际的任务(如编译源代码)都交由插件来完成. 三套生命周期 ...
- 罗技K380连接Win10(MacBookPro双系统)系统失败
问题描述: MacBook Pro 双系统,先连接MacOS使用没问题,切换至Win10系统,连接失败. 解决方案: 进入MacOS,打开蓝牙设置,将已经连接的键盘删除,重新进入Win10系统,再连接 ...
- 在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...
- position用法
fixed的用法 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- loj #2006. 「SCOI2015」小凸玩矩阵
#2006. 「SCOI2015」小凸玩矩阵 题目描述 小凸和小方是好朋友,小方给小凸一个 N×M N \times MN×M(N≤M N \leq MN≤M)的矩阵 A AA,要求小凸从其中选出 ...
- 基于vue实现上下滑动翻页效果
18年年底的时候,一直在做年度报告的H5页面,因为项目需要,需要实现上下滑动翻页,并且上滑的页面比正常页面的比例要缩小一定比例. 效果类似于http://www.17sucai.com/pins/de ...
- java webservices 以Axis1.4方式 调用sap webservice接口.
1. 首先需要下载Axis1.4 jar包,这个必应搜索大把,下载下来后把jar包加入eclipse工程项目路径中即可. 2. 下载mail.jar和activation.jar 俩个包.下载地址:h ...
- JS基础学习四:绑定事件
添加事件 IE: attachEvent Other: addEventListener var button = document.getElementById("buttonId&quo ...
- 14.Diameter of Binary Tree(二叉树的直径)
Level: Easy 题目描述: Given a binary tree, you need to compute the length of the diameter of the tree. ...
- 安装maven时遇到的问题
配置好环境变量和本地仓库后,在命令行里输入mvn compile,可以显示成功,但是mvn install后就一直失败.显示如下错误: 在idea中显示如下错误: 其实即使显示编译成功,但并没有真正的 ...