express 學習筆記

  1. 創(chuàng)建服務器
    var app=require('express').createServer();
    app.get('/',function(req,res){
    res.send('hello, world from csseer.cml');
    });
    app.listen(3000);
  2. 創(chuàng)建Https服務器
    var app=require('express').createServer({key:...}); 需要傳遞一個對象作為配置參數(shù)迁霎,該對象接收
    key,cert和其他在nodejs https文檔參數(shù)

3.生產(chǎn)環(huán)境 (有待學習)

4.______dirname是node.js里面的全局變量截粗,即取得執(zhí)行的js所在的路徑 ,
__filename是目前執(zhí)行的js文件名

5.bodyParser用于解析客戶端請求的body中的內(nèi)容,內(nèi)部使用JSON編碼處理,url編碼處理以及對于文件的上傳處理.

6.中間件盔几, 可以通過connect 傳入express派撕。createServer();
var express =require('express');
var app= express.createServer(
express.logger(),
express.bodyParser()
);

7.路由中間件
這里路徑映射可以理解為路由的意思,路由通過傳入一個或者多個附加的回調(diào)函數(shù)到方法中衷笋。
多重路由中間件可以被按照順序來執(zhí)行巾腕,從而可以實現(xiàn)更復雜的邏輯同蜻。
function andRestrictToSellf(req,res,next){
req.authenticatedUser.id==req.user.id?next():next(new Error('無權(quán)限'));
}
app.get('/user/:id/edit',loadUser,andREstrictToSelf,function(req,res){
res.send('開始編輯用戶'+req.user.name);
})

請記住中間件是簡單的函數(shù)疲扎,返回中間件的函數(shù)
function andRestrictToSellf(role){
return function(req,res,next){ req.authenticatedUser.role==role?next():next(new Error('無權(quán)限
'))};
}
app.del('/user/:id/edit',loadUser,andREstrictToSelf('admin'),function(req,res){
res.send('已經(jīng)刪除'+req.user.name);
})
//app.del的第三個參數(shù)之所以可以這樣寫昵时,是因為其返回的是一個函數(shù),而該函數(shù)可以訪問’admin’的值椒丧,這里涉及到閉包的概念壹甥,

8.session support
可以在Express中通過增加Connect的session中間件來開啟Session支持,當然前提是需要在這之前使用cookieParser中間件壶熏,用于分析和處理req.cookies的cookie數(shù)據(jù)(我們知道session會利用cookie進行通信保持的)句柠。
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat" }));

默認session中間件使用Connect綁定的內(nèi)存存儲,但也有另外的實現(xiàn)方式棒假。比如connect-redis就提供了一個Redis的session存儲方案:
var RedisStore = require('connect-redis');
app.use(express.cookieParser());
app.use(express.session({ secret: "CSSer加密字符串", store: new RedisStore }))

req.session 和 req.sessionStore屬性就可以被所有路由及下級中間件所訪問溯职,req.session的屬性會伴隨著每次響應發(fā)送給客戶端,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末帽哑,一起剝皮案震驚了整個濱河市谜酒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妻枕,老刑警劉巖僻族,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佳头,居然都是意外死亡鹰贵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門康嘉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人籽前,你說我怎么就攤上這事亭珍》蠹兀” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵肄梨,是天一觀的道長阻荒。 經(jīng)常有香客問我,道長众羡,這世上最難降的妖魔是什么侨赡? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮粱侣,結(jié)果婚禮上羊壹,老公的妹妹穿的比我還像新娘。我一直安慰自己齐婴,他們只是感情好油猫,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柠偶,像睡著了一般情妖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上诱担,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天毡证,我揣著相機與錄音,去河邊找鬼蔫仙。 笑死情竹,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的匀哄。 我是一名探鬼主播秦效,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涎嚼!你這毒婦竟也來了阱州?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤法梯,失蹤者是張志新(化名)和其女友劉穎苔货,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體立哑,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡夜惭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铛绰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诈茧。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捂掰,靈堂內(nèi)的尸體忽然破棺而出敢会,到底是詐尸還是另有隱情曾沈,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布鸥昏,位于F島的核電站塞俱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吏垮。R本人自食惡果不足惜障涯,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望膳汪。 院中可真熱鬧唯蝶,春花似錦、人聲如沸旅敷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽媳谁。三九已至涂滴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晴音,已是汗流浹背柔纵。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锤躁,地道東北人搁料。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像系羞,于是被迫代替她去往敵國和親郭计。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容