初遇Express(小demo)

Express_demo
此網站實現了簡單登陸功能


我的目錄:
我的目錄


這個項目比較簡單,我講一講一些重要功能的實現和我一些覺得需要注意的點吧【可愛臉】
1.關於Jade的回車格式問題。
我在編寫Jade的時候報了這樣的錯:Invalid indentation,you can use tabs or spaces but not both(不要tab和空格一起使用)。
解決:在代碼編輯器中設置tab替換空格。我用的webstorm,在webstorm中設置方法如下:preference->Code Style->jade->Tabs and Indents->勾選Use Tab charactor。
【BTW】:webstorm 的Jade監測功能超級贊!!!

2、關於安裝導入Bootstrap的問題,我使用的是bower

npm install -g bower
bower install bootstrap

我當時是用window 8 命令行敲的,但是並不可以! 報錯是git的問題
所以採用PLAN B打開 git bash吧【英俊臉】

3.提一下Grunt,畢竟前端好幫手
【Grunt自動監視重啓項目】

4.當我們可以在/login頁使用Ajax提交表單,驗證跳轉頁面登陸到/home 頁。但是! 我們直接在瀏覽器 輸localhost:3000/home ,也是能訪問到home頁面的。這樣的網站是不安全的。
所以,express-session模塊就出現了。

var session = require('express-session');

修改後的index.js頁面。

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');


router.get('/', function(req, res, next) {
  res.render('index', { title: '首頁' });
});

router.get('/error',function(req,res){
  res.render('error');
});

router.get('/login',function(req,res){
    res.render('login',{title:'登陸頁'});
});

router.post('/login',function(req,res){
        var user={
            'username':'admin',
            'password':'admin'
        }
    console.log(req.body.username);
    if(req.body.username==user.username&&req.body.password==user.password)
        {
            req.session.user = user;
            res.send(200);


        }else{
           req.session.error = "用戶名或密碼錯誤"
           res.send(404);
        }
    });
router.get('/wrong',function(req,res){
    res.render('wrong');
});

router.get('/logout', function(req, res){
    req.session.user = null;
    req.session.error = null;
    res.redirect('/');
});

router.get('/home',function(req,res){
    if(req.session.user){
        res.render('home',{title:'主頁面'});
    }else{
        req.session.error = "請先登錄";
        res.redirect('wrong');
    }
});

module.exports = router;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章