注入MongoDB 依賴
var mongoose = require("mongoose");由于需要進(jìn)行表單處理,需要用到bodyParser中間件
bodyParser模塊來做文件解析,將表單里的數(shù)據(jù)進(jìn)行格式化
var bodyParser = require("body-parser"); app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: true }));登錄后將用戶信息保存下來,需要使用session中間件,它依賴cookieParser中間件
var cookieParser = require('cookie-parser');var session = require('express-session');ar mongoStore = require('connect-mongo')(session);var dbUrl = 'mongodb://localhost/express';app.use(cookieParser()); app.use(session({ secret:'express', store: new mongoStore({ url: dbUrl, collection: 'sessions' })}));使用jade模板
layout.jade
doctype htmlhtml head meta(charset='utf-8') title #{title} include ./includes/head body include ./includes/header block contenthead.jade
link(href='css/main.css', rel='stylesheet')link(href="/libs/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow" , rel="stylesheet")script(src="/libs/jquery/dist/jquery.min.js")script(src="/libs/bootstrap/dist/js/bootstrap.min.js")
header.jade
.container .row .page-header h1 #{title}.navbar.navbar-default.navbar-fixed-bottom .container if user p.navbar-text.navbar-right span 歡迎你,#{user.name} span | a.navbar-link(href="/layout" rel="external nofollow" ) 退出登錄 else p.navbar-text.navbar-right a.navbar-link(href="/signup" rel="external nofollow" , data-toggle="modal", data-target="#signupModal") 注冊 span | a.navbar-link(href="/login" rel="external nofollow" , data-toggle="modal", data-target="#signinModal") 登錄signup.jade
include ../layout block content form.form-horizontal( role="form", method="POST", action='/user/signup') .form-group label.col-sm-2.control-label(for="signupName") 用戶名 .col-sm-10 input#signupName.form-control(type="text", name="user[name]", placeholder="輸入用戶名") .form-group label.col-sm-2.control-label(for="signuppassword") 密碼 .col-sm-10 input#signuppassword.form-control(type="password", name="user[password]", placeholder="輸入密碼") .form-group label.col-sm-2.control-label(for="signupemail") 郵箱 .col-sm-10 input#signupemail.form-control(type="email", name="user[email]", placeholder="輸入郵箱") .form-group .col-sm-offset-2.col-sm-10 button.btn.btn-default(type="submit") 完成注冊
配置路由
登錄注冊頁面
// 注冊頁面app.get('/signup', function (req,res) { res.render('signup', { title: '注冊' });});// 登錄頁面app.get('/login', function (req,res) { res.render('login', { title: '登錄' });});
新聞熱點
疑難解答
圖片精選