Nodejs 學(xué)習(xí)2 Koa

1楼雹、Koa ejs 模版引擎

? ? ? ? ? 1)安裝 koa-views 和 ejs

? ? ? ? ? ? ? ? a姨涡、 安裝 koa-views ? ?npm install --save koa-views

? ? ? ? ? ? ? ? b、安裝 ?ejs ? npm install ejs?--save?

? ? ? ? ? ?2)引入koa-views 配置中間件

? ??????????????const views = require('koa-views');

? ??????????????app.use(views('views', { map: {html: 'ejs' }}));

? ? ? ? ? ?3)Koa 中使用 ejs

? ? ? 4) ejs 引入模版

? ? ? ?<%- include header.ejs %>

? ? ? ?5)ejs 綁定數(shù)據(jù)

? ? ? ?<%=h%>

? ? ? ? 6)ejs 綁定 html 數(shù)據(jù)

? ??????<%-h%>

? ??????7)ejs 模板判斷語(yǔ)句

? ??????<% if(true){ %>?

????????????????<div>true</div>

????????<%} else{ %>?

????????????????<div>false</div>

????????<%} %>

? ? ? ? 8) ejs 模板循環(huán)數(shù)據(jù)

? ??????<%for(var i=0;i<list.length;i++) { %>

? ??????????????????<li><%=list[i] %></li>

? ??????<%}%>

2、Koa post 提交數(shù)據(jù)?koa-bodyparser?中間件的使用

? ? ? ? 1、安裝 koa-bodyparser

? ??????npm install --save koa-bodyparser

? ? ? ? 2、安裝 引入配置中間件

? ? ? ? 3酸些、使用

? ? ? ? ctx.request.body 獲取 post 提交的數(shù)據(jù)

3、Koa 中 koa-staitc 中間件

? ? ? ? ? ?1)安裝 koa-static

? ??????????npm install --save koa-static

? ? ? ? ? ? 2)引入配置中間件

? ??????????const static = require('koa-static');

? ??????????app.use(static(?__dirname + '/public'?))

4檐蚜、Koa 中?koa art-template?模板引擎

? ? ? ? ? ?1) 安裝 koa art-template

? ??????????npm install --save art-template

? ? ? ? ? ? npm install --save koa-art-template

? ? ? ? ? ?2)導(dǎo)入 koa art-template 和使用

? ??????????const render = require('koa-art-template');

? ? ? ? ? ? ? ?3)?art-template?模板引擎語(yǔ)法?

? ? ? ? ? ? ? ?參考: http://aui.github.io/art-template/zh-cn/docs/syntax.html

5魄懂、Koa 中 Cookie 使用

? ? ? ? ? ? ? ? 1)cookie 介紹

? ? ? ? ? ? ? ? cookie 是存儲(chǔ)于訪問(wèn)者的計(jì)算機(jī)中的變量〈车冢可以讓我們用同一個(gè)瀏覽器訪問(wèn)同一個(gè)

? ? ? ? ? ? ? ? 域名的時(shí)候共享數(shù)據(jù)市栗。

????? ? ? ? ? ? ?HTTP?是無(wú)狀態(tài)協(xié)議。簡(jiǎn)單地說(shuō),當(dāng)你瀏覽了一個(gè)頁(yè)面填帽,然后轉(zhuǎn)到同一個(gè)網(wǎng)站的另????????????????????????????????

? ? ? ? ? ? ? ? ?一個(gè)頁(yè) 面蛛淋,服務(wù)器無(wú)法認(rèn)識(shí)到這是同一個(gè)瀏覽器在訪問(wèn)同一個(gè)網(wǎng)站。每一次的訪

? ? ? ? ? ? ? ? ?問(wèn)篡腌,都是沒(méi)有任何 關(guān)系的褐荷。

? ? ? ? ? ? ? ? 2)Koa Cookie?的使用

? ? ? ? ? ? ? ? ? ? ? a、ctx.cookies.set(name, value, [options])

? ? ? ? ? ? ? ? ? ? ?通過(guò)?options?設(shè)置?cookie name?的?value :? ??????????????

? ? ? ? ? ? ? ? ? ? ? ? ? b嘹悼、Koa?中獲取?Cookie?的值

? ? ? ? ? ? ? ? ? ? ? ? ? ctx.cookies.get('name'); ?

6叛甫、Koa 中 Session 使用??????????????????????

? ? ? ? ? 1)Session 介紹

?? ? ? ? ? ? ? ? session?是另一種記錄客戶(hù)狀態(tài)的機(jī)制,不同的是?Cookie?保存在客戶(hù)端瀏覽器中

? ? ? ? ? ? ? ? ?而?session?保存在服務(wù)器上杨伙。

? ? ? ? ? ?2)Session?的工作流程

? ??????????????當(dāng)瀏覽器訪問(wèn)服務(wù)器并發(fā)送第一次請(qǐng)求時(shí)其监,服務(wù)器端會(huì)創(chuàng)建一個(gè) session 對(duì)象,生?

? ? ? ? ? ? ? ? 成一個(gè)類(lèi)似于 key,value 的鍵值對(duì)缀台, 然后將 key(cookie)返回到瀏覽器(客戶(hù))端棠赛,瀏

????????????????覽 器下次再訪問(wèn)時(shí)哮奇,攜帶 key(cookie)膛腐,找到對(duì)應(yīng)的 session(value)。 客戶(hù)的信息都

????????????????保存 在 session 中鼎俘。

? ? ? ? ? ? 3)koa-session 的使用

? ? ? ? ? ? ? ? ??1.安裝 express-session? ? ? ? ? ? ? ?

? ?????????????????npm install koa-session --save ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ?2.引入 express-session

? ?????????????????const session = require('koa-session');

? ? ? ? ? ? ? ? ? ?3哲身、設(shè)置官方文檔提供的中間件

? ? ? ? ? ? 4)Cookie?和?Session?區(qū)別

? ? ? ? ? ? ? ? ? ??1、cookie?數(shù)據(jù)存放在客戶(hù)的瀏覽器上贸伐,session?數(shù)據(jù)放在服務(wù)器上勘天。???

????????????????????2、cookie?不是很安全捉邢,別人可以分析存放在本地的?COOKIE?并進(jìn)行?COOKIE?欺

? ? ? ? ? ? ? ? ? ? ? ? ? ?騙 考慮到安全應(yīng)當(dāng)使用?session脯丝。

????????????????????3、session?會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上伏伐。當(dāng)訪問(wèn)增多宠进,會(huì)比較占用你服務(wù)器

? ? ? ? ? ? ? ? ? ? ? ? ? ?的性能 考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用?COOKIE藐翎。

? ? ? ? ? ? ? ? ? ? ?4材蹬、單個(gè)?cookie?保存的數(shù)據(jù)不能超過(guò)?4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存?

? ? ? ? ? ? ? ? ? ? ? ? ? ? 20?個(gè)?cookie吝镣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末堤器,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子末贾,更是在濱河造成了極大的恐慌闸溃,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異辉川,居然都是意外死亡掂为,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)员串,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)勇哗,“玉大人,你說(shuō)我怎么就攤上這事寸齐∮担” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵渺鹦,是天一觀的道長(zhǎng)扰法。 經(jīng)常有香客問(wèn)我,道長(zhǎng)毅厚,這世上最難降的妖魔是什么塞颁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮吸耿,結(jié)果婚禮上祠锣,老公的妹妹穿的比我還像新娘。我一直安慰自己咽安,他們只是感情好伴网,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著妆棒,像睡著了一般澡腾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上糕珊,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天动分,我揣著相機(jī)與錄音,去河邊找鬼红选。 笑死澜公,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纠脾。 我是一名探鬼主播玛瘸,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼苟蹈!你這毒婦竟也來(lái)了糊渊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慧脱,失蹤者是張志新(化名)和其女友劉穎渺绒,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宗兼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年躏鱼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殷绍。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡染苛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出主到,到底是詐尸還是另有隱情茶行,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布登钥,位于F島的核電站畔师,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏牧牢。R本人自食惡果不足惜看锉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望塔鳍。 院中可真熱鬧伯铣,春花似錦、人聲如沸献幔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蜡感。三九已至,卻和暖如春恃泪,著一層夾襖步出監(jiān)牢的瞬間郑兴,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工贝乎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留情连,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓览效,卻偏偏與公主長(zhǎng)得像却舀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锤灿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355