零基礎(chǔ)node.js lesson2

本節(jié)目標(biāo)

建立一個(gè) lesson2 項(xiàng)目鲜侥,在其中編寫代碼褂始。

當(dāng)在瀏覽器中訪問http://localhost:3000/?q=alsotang時(shí),輸出alsotang的 md5 值剃毒,即bdd5e57b5c0040f9dc23d430846e68a3病袄。

知識(shí)點(diǎn)

學(xué)習(xí) req.query 的用法

學(xué)習(xí)建立 package.json 來管理 Node.js 項(xiàng)目搂赋。


課程內(nèi)容

本課程的每個(gè) lesson 里面的示例代碼都會(huì)帶上一份 package.json赘阀,大家可以去看看它的大概樣子。

$ mkdir lesson2 && cd lesson2

$ npm init

$ npm install express utility --save

這時(shí)查看node_modules目錄脑奠,會(huì)發(fā)現(xiàn)有兩個(gè)文件夾基公,分別是 express 和 utility

我們開始寫應(yīng)用層的代碼,建立一個(gè)app.js文件宋欺,復(fù)制以下代碼進(jìn)去:

//引入依賴

var express=require('express');

var utility=require('utility');

//建立 express 實(shí)例

varapp=express();app.get('/',function(req,res) {

//從 req.query 中取出我們的 q 參數(shù)轰豆。//如果是 post 傳來的 body 數(shù)據(jù)胰伍,則是在 req.body 里面,不過 express 默認(rèn)不處理 body 中的信息酸休,需要引入 https://github.com/expressjs/body-parser 這個(gè)中間件才會(huì)處理骂租,這個(gè)后面會(huì)講到。//如果分不清什么是 query斑司,什么是 body 的話渗饮,那就需要補(bǔ)一下 http 的知識(shí)了varq=req.query.q;//調(diào)用 utility.md5 方法,得到 md5 之后的值//之所以使用 utility 這個(gè)庫(kù)來生成 md5 值宿刮,其實(shí)只是習(xí)慣問題。每個(gè)人都有自己習(xí)慣的技術(shù)堆棧,//我剛?cè)肼毎⒗锏臅r(shí)候跟著蘇千和樸靈混穆役,所以也混到了不少他們的技術(shù)堆棧食绿,僅此而已。//utility 的 github 地址:https://github.com/node-modules/utility//里面定義了很多常用且比較雜的輔助方法磕潮,可以去看看

varmd5Value=utility.md5(q);res.send(md5Value);});

app.listen(3000,function(req,res) {console.log('app is running at port 3000');});

OK翠胰,運(yùn)行我們的程序

$ node app.js

訪問http://localhost:3000/?q=alsotang,完成自脯。


題外話

如果直接訪問http://localhost:3000/會(huì)拋錯(cuò)

可以看到亡容,這個(gè)錯(cuò)誤是從crypto.js中拋出的。

這是因?yàn)樵┙瘢?dāng)我們不傳入q參數(shù)時(shí)闺兢,req.query.q取到的值是undefined,utility.md5直接使用了這個(gè)空值戏罢,導(dǎo)致下層的crypto拋錯(cuò)屋谭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市龟糕,隨后出現(xiàn)的幾起案子桐磁,更是在濱河造成了極大的恐慌,老刑警劉巖讲岁,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件我擂,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡缓艳,警方通過查閱死者的電腦和手機(jī)校摩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阶淘,“玉大人衙吩,你說我怎么就攤上這事∠希” “怎么了坤塞?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵冯勉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我摹芙,道長(zhǎng)灼狰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任浮禾,我火速辦了婚禮伏嗜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘伐厌。我一直安慰自己承绸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布挣轨。 她就那樣靜靜地躺著军熏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卷扮。 梳的紋絲不亂的頭發(fā)上荡澎,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音晤锹,去河邊找鬼摩幔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鞭铆,可吹牛的內(nèi)容都是我干的或衡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼车遂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼封断!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起舶担,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤坡疼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后衣陶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柄瑰,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年剪况,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了教沾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拯欧,死狀恐怖详囤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镐作,我是刑警寧澤藏姐,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站该贾,受9級(jí)特大地震影響羔杨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜杨蛋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一兜材、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧逞力,春花似錦曙寡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至揩抡,卻和暖如春户侥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背峦嗤。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工蕊唐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烁设。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓替梨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親装黑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耙替,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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