<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術(shù)

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
    接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(五), 這一篇將講解如何用模版生成html頁面, 如何驗(yàn)證用戶登錄, 您將了解到:
    1. 模版引擎jade
    2. 使用express的session功能
    一. 用jade生成登陸界面
    用express就不得不了解一下模版引擎, 比較流行的是jadeejs, 這里以jade為例:
    1. 安裝jade:
    npm install jade

    2. 配置express使用jade
    1 //設(shè)置express使用jade作為模版引擎
    2 server.set('view engine', 'jade');
    3 //設(shè)置jade模版的目錄
    4 server.set('views', __dirname + '/views');

    3. 配置jade模版
    在主程序目錄創(chuàng)建views目錄, 在views目錄添加layout.jade文件(layout文件用于指定所有頁面的模版), 內(nèi)容如下:
    1 !!! 5
    2 html
    3   include header
    4   body!= body
    再添加header.jade文件, 內(nèi)容如下:
    1 head
    2   title TWaver HTML5 Demo
    3   script(type='text/javascript', src='/socket.io/socket.io.js')
    4   script(type='text/javascript', src='/twaver.js')
    5   script(type='text/javascript', src='/demo.js')

    4. 生成登陸界面和主界面
    添加login.jade文件, 內(nèi)容如下:
    1 form(action='/login', method='post')
    2   label Name:
    3   input(name='name', type='text')
    4   input(name='password', type='password')
    5   input(type='submit', value='Login')
    再添加index.jade文件, 內(nèi)容如下:
    1 body(onload="init()")

    5. 添加登錄和主頁路由:
    1 //添加登錄路由
    2 server.get('/login', function (req, res) {
    3     res.render('login');
    4 });
    5 //添加主頁路由
    6 server.get('/', function (req, res) {
    7     res.render('index');
    8 });
    9 
    啟動node, 用瀏覽器打開http://localhost:8080/login, 看看效果:
    再打開http://localhost:8080/, 內(nèi)容和上一章看到的一樣, demo目錄的demo.html可以刪掉了:

    二. 配置express, 驗(yàn)證用戶
    1. 啟用session, 表單和cookie解析功能
    1 //設(shè)置表單和cookie解析器
    2 server.use(express.bodyParser());
    3 server.use(express.cookieParser());
    4 //啟用session
    5 server.use(express.session({secret: 'anything', key: 'express.sid'}));
    6 

    2. 添加登陸post路由, 將用戶名信息存入session中
    1 //登陸post路由
    2 server.post('/login', function (req, res) {
    3     var name = req.body.name;
    4     var password = req.body.password;
    5     req.session.user = name;
    6     res.redirect('/');
    7 });
    8 

    3. 修改主頁路由, 判斷如果沒有登陸就重定向到登陸界面:
    1 server.get('/', function (req, res) {
    2     if (req.session.user) {
    3         res.render('index');
    4     } else {
    5         res.redirect('/login');
    6     }
    7 });
    再用瀏覽器打開http://localhost:8080/, 會出現(xiàn)登陸界面, 輸入任意非空用戶名后, 即可登陸

    本文完整demo見附件, 下一講將介紹加密密碼, 漢化i18n等內(nèi)容
    另外, 一個小技巧:客戶端ji里生成socket時, 需要指定ip和端口, 如果是本機(jī), 可以直接:socket = io.connect('http://' + location.hostname + '/', { port: location.port });


    評論

    # re: TWaver HTML5 + Node.js + express + socket.io + redis(六)  回復(fù)  更多評論   

    2012-04-03 12:51 by 分紅商城
    我想學(xué)習(xí)nodejs。不過不知道使用什么nosql數(shù)據(jù)庫比較好。能推薦一個嗎?

    # re: TWaver HTML5 + Node.js + express + socket.io + redis(六)  回復(fù)  更多評論   

    2012-04-03 13:24 by TWaver
    MongoDB(http://www.mongodb.org)和Reids(http://redis.io)都可以考慮下

    # re: TWaver HTML5 + Node.js + express + socket.io + redis(六)  回復(fù)  更多評論   

    2012-05-23 15:42 by 學(xué)習(xí)nodejs
    學(xué)習(xí),能繼續(xù)講講加密密碼嗎

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一区二区三区播放在线| 老司机午夜精品视频在线观看免费| 美女视频黄a视频全免费| 亚洲AV综合色区无码一二三区| 亚洲国产小视频精品久久久三级| 日本免费在线观看| 亚洲Aⅴ在线无码播放毛片一线天| 伊伊人成亚洲综合人网7777| 九九精品免费视频| 国产97视频人人做人人爱免费| 亚洲国产美女精品久久久久| 亚洲第一黄片大全| 99久久精品日本一区二区免费 | 亚洲精品成人片在线播放| 久久久久久精品成人免费图片| 香港一级毛片免费看| 亚洲人成免费电影| 亚洲国产婷婷六月丁香| 成人毛片18女人毛片免费| 精品亚洲永久免费精品 | 成人精品国产亚洲欧洲| 久久久久久亚洲Av无码精品专口 | 亚洲视频一区二区三区四区| 亚洲色爱图小说专区| 免费看片免费播放| 91久久精品国产免费一区| 国产精品免费久久久久久久久| 伊人久久五月丁香综合中文亚洲 | 亚洲午夜国产片在线观看| 猫咪社区免费资源在线观看 | 午夜免费国产体验区免费的| 亚洲成a人片在线不卡| 亚洲国产美国国产综合一区二区| 日韩精品电影一区亚洲| 成年女性特黄午夜视频免费看| 18pao国产成视频永久免费| 国产真人无码作爱免费视频| 在线亚洲v日韩v| 亚洲日韩一区精品射精| 亚洲一区综合在线播放| 亚洲AV无一区二区三区久久|