express快速入門

安裝epress , 可以使用 npm install express --save進行安裝,如果使用webStorm的話狸演,新建一個node項目匠襟,會自動幫你下載express包庇勃。

Paste_Image.png

等你創(chuàng)建好之后就會有一個node_modules一個文件夾下就會有express這個包陷舅。

1望薄、路由能力
    var express = require("express");
    var app = express();
    app.get("/",function(req,res){
        res.send("你好");
    });
    app.get("/haha",function(req,res){
        res.send("這是haha頁面,哈哈哈哈哈哈");
    }); 
    //使用正則匹配學(xué)號
    app.get(/^\/student\/([\d]{10})$/,function(req,res){
        res.send("學(xué)生信息呼畸,學(xué)號" + req.params[0]);
    });
    app.get("/teacher/:gonghao",function(req,res){
    res.send("老師信息痕支,工號" + req.params.gonghao);
    });
    app.listen(3000);

app.get(),該方法中有兩個參數(shù),第一個參數(shù)為請求路徑蛮原,不分大小寫采转,第二個為回掉函數(shù),請求路徑可以使用正則匹配瞬痘,app.post()也是同樣的參數(shù)形式故慈。app.listen(3000)表示監(jiān)聽3000端口,在瀏覽器輸入 localhost:3000就可以訪問框全。

正則表達式可以被使用察绷。正則表達式中,未知部分用圓括號分組津辩,然后可以用req.params[0]拆撼、[1]得到,req.params為類數(shù)組對象喘沿。

    app.get(/^\/student\/([\d]{10})$/,function(req,res){
        res.send("學(xué)生信息闸度,學(xué)號" + req.params[0]);
    });

但是用冒號這種方法更好一些:

    app.get("/student/:id",function(req,res){
        var id = req.params["id"];
         // var id = req.params.id;(這種方式也能獲取到id的值)
        var reg= /^[\d]{6}$/;   //正則驗證
        if(reg.test(id)){
            res.send(id);
        }else{
            res.send("請檢查格式");
        }
    });


2、靜態(tài)文件

Express 提供了內(nèi)置的中間件 express.static 來設(shè)置靜態(tài)文件如:圖片蚜印, CSS, JavaScript 等莺禁,你可以使用 express.static 中間件來設(shè)置靜態(tài)文件路徑。例如窄赋,如果你將圖片哟冬, CSS, JavaScript文件放在 public 目錄下,你可以這么寫:

app.use(express.static('public'));
3忆绰、中間件

路由get浩峡、post這些東西,就是中間件错敢,中間件講究順序翰灾,匹配上第一個之后,就不會往后匹配了稚茅。next函數(shù)才能夠繼續(xù)往后匹配纸淮。如果我的的get、post回調(diào)函數(shù)中峰锁,沒有next參數(shù)萎馅,那么就匹配上第一個路由,就不會往下匹配了虹蒋。如果想往下匹配的話糜芳,那么需要寫next().

app.get("/",function(req,res,next){
    console.log("1");
    next();
});
app.get("/",function(req,res){
    console.log("2");
});

app.use()也是一個中間件。與get魄衅、post不同的是峭竣,他的網(wǎng)址不是精確匹配的。而是能夠有小文件夾拓展的晃虫。比如網(wǎng)址: http://127.0.0.1:3000/admin/aa/bb/cc/dd

app.use("/admin",function(req,res){ 
    res.write(req.originalUrl + "\n");   //    /admin/aa/bb/cc/dd
    res.write(req.baseUrl + "\n");  //   /admin
    res.write(req.path + "\n");   //    /aa/bb/cc/dd
    res.end("你好");
});

如果只寫一個/的話皆撩,就匹配所有網(wǎng)址

//當你不寫路徑的時候,實際上就相當于"/"哲银,就是所有網(wǎng)址
app.use(function(req,res,next){
    console.log(new Date());
    next();
});
4扛吞、內(nèi)容渲染
  • 大多數(shù)情況下,渲染內(nèi)容用res.render()荆责,將會根據(jù)views中的模板文件進行渲染滥比。如果不想使用views文件夾,想自己設(shè)置文件夾名字做院,那么app.set("views","aaaa");
  • 如果想寫一個快速測試頁盲泛,當然可以使用res.send()。這個函數(shù)將根據(jù)內(nèi)容键耕,自動幫我們設(shè)置了Content-Type頭部和200狀態(tài)碼寺滚。send()只能用一次,和end一樣屈雄。和end不一樣在哪里村视?能夠自動設(shè)置MIME類型。
  • 如果想使用不同的狀態(tài)碼酒奶,可以:
    res.status(404).send('Sorry, we cannot find that!');
  • 如果想使用不同的Content-Type蓖议,可以:
    res.set('Content-Type', 'text/html');
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市讥蟆,隨后出現(xiàn)的幾起案子勒虾,更是在濱河造成了極大的恐慌,老刑警劉巖瘸彤,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件修然,死亡現(xiàn)場離奇詭異,居然都是意外死亡质况,警方通過查閱死者的電腦和手機愕宋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來结榄,“玉大人中贝,你說我怎么就攤上這事【世剩” “怎么了邻寿?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵蝎土,是天一觀的道長。 經(jīng)常有香客問我绣否,道長誊涯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任蒜撮,我火速辦了婚禮暴构,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘段磨。我一直安慰自己取逾,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布苹支。 她就那樣靜靜地躺著砾隅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沐序。 梳的紋絲不亂的頭發(fā)上琉用,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音策幼,去河邊找鬼邑时。 笑死,一個胖子當著我的面吹牛特姐,可吹牛的內(nèi)容都是我干的晶丘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼唐含,長吁一口氣:“原來是場噩夢啊……” “哼浅浮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捷枯,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤滚秩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后淮捆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郁油,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年攀痊,在試婚紗的時候發(fā)現(xiàn)自己被綠了桐腌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡苟径,死狀恐怖案站,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情棘街,我是刑警寧澤蟆盐,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布承边,位于F島的核電站,受9級特大地震影響舱禽,放射性物質(zhì)發(fā)生泄漏炒刁。R本人自食惡果不足惜恩沽,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一誊稚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罗心,春花似錦里伯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至飒箭,卻和暖如春狼电,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弦蹂。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工肩碟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凸椿。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓削祈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脑漫。 傳聞我的和親對象是個殘疾皇子髓抑,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

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