TWaver HTML5 + Node.js + express + socket.io + redis(五)

接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(四), 这一篇将讲解如何用模版生成html页面, 如何验证用户登录, 您将了解到:
1. 模版引擎jade
2. 使用express的session功能

TWaver HTML5 + Node.js + express + socket.io + redis(五)

一. 用jade生成登陆界面
用express就不得不了解一下模版引擎, 比较流行的是jadeejs, 这里以jade为例:
1. 安装jade:
npm install jade

2. 配置express使用jade


3. 配置jade模版
在主程序目录创建views目录, 在views目录添加layout.jade文件(layout文件用于指定所有页面的模版), 内容如下:


再添加header.jade文件, 内容如下:


4. 生成登陆界面和主界面
添加login.jade文件, 内容如下:


再添加index.jade文件, 内容如下:


5. 添加登录和主页路由:


启动node, 用浏览器打开http://localhost:8080/login, 看看效果:
TWaver HTML5 + Node.js + express + socket.io + redis(五)

再打开http://localhost:8080/, 内容和上一章看到的一样, demo目录的demo.html可以删掉了:
TWaver HTML5 + Node.js + express + socket.io + redis(五)

二. 配置express, 验证用户
1. 启用session, 表单和cookie解析功能


2. 添加登陆post路由, 将用户名信息存入session中


3. 修改主页路由, 判断如果没有登陆就重定向到登陆界面:


再用浏览器打开http://localhost:8080/, 会出现登陆界面, 输入任意非空用户名后, 即可登陆

本文完整demo见附件, 下一讲将介绍加密密码, 汉化i18n等内容
另外, 一个小技巧:客户端js里生成socket时, 需要指定ip和端口, 如果是本机, 可以直接:socket = io.connect(‘http://’ + location.hostname + ‘/’, { port: location.port });

你可能感兴趣的:(node.js)