node.js + mongodb 做项目的详解(二)

来源:互联网 发布:exe软件下载 编辑:程序博客网 时间:2024/06/01 23:30

这次内容是结合bootstrap把登陆注册做好,还有就是express的中间件等问题。

看这篇博客之前建议先看我上篇写的那篇博客
http://www.cnblogs.com/hubwiz/p/4118083.html

第一步

当然还是准备工作了,在bootstrap官网下载好需要的东西了,怎么用官网已经写的很详细,在这就不细说了。
下载地址:http://v3.bootcss.com/getting-started/

第二步
就是登陆和注册了

写在router文件中
index.js

/*ucenter-登录*/router.post('/ucenter/login', function (req, res) {    user.findOne({name: req.body.name}, function (err, data) {        if (data.name === req.body.name && data.password ===  req.body.password) {             console.log(req.body.name + '登陆成功' + new Date());             res.render('ucenter', {title: 'ucenter'});        } else {             console.log(err);             res.send(500);        }   });});
/*ucenter-注册*/router.post('/ucenter/register', function (req, res) {    user.findOne({name: req.body.name}, function (err, docs) {        if (err)            console.log(err);        else if (!docs) {            user.create({                name: req.body.name,                password: req.body.password            }, function (err, doc) {                if (err)                    console.log(err);                else                    console.log(doc);            });            res.render('ucenter', {title: 'ucenter'});        }    })});

页面中表单提交就用的action,没有用Ajax,这里为了方便讲解,如果你写用Ajax请求的写法
请看:http://www.hubwiz.com/coursecenter 中的express课程 
其中有详细的做法。

第三步

就是express的session问题了

在express 4.0之前的版本,像session之类的中间件是伴随express自动安装的,
网上有的教程使用的express版本正是4.0之前的版本,所以在使用4.0及其之后版本的时候一定要注意这点。

这是在实现mongodb回话组建connect-mongo时需要的。

With express4:var session    = require('express-session');var MongoStore = require('connect-mongo')(session);app.use(session({    secret: settings.cookie_secret,    store: new MongoStore({      db : settings.db,    })  }));With express<4:var express = require('express');var MongoStore = require('connect-mongo')(express);app.use(express.session({    secret: settings.cookie_secret,    store: new MongoStore({      db: settings.db    })  }));With connect:var connect = require('connect');var MongoStore = require('connect-mongo')(connect);


这段代码可以再connect-mongo github中看到。

代码还没有整理好,就没有传到github上,请随时关注我的博客。
好了,结束。




0 0
原创粉丝点击