express快速入門

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

Paste_Image.png

等你創建好之后就會有一個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頁面,哈哈哈哈哈哈");
    }); 
    //使用正則匹配學號
    app.get(/^\/student\/([\d]{10})$/,function(req,res){
        res.send("學生信息,學號" + req.params[0]);
    });
    app.get("/teacher/:gonghao",function(req,res){
    res.send("老師信息,工號" + req.params.gonghao);
    });
    app.listen(3000);

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

正則表達式可以被使用。正則表達式中,未知部分用圓括號分組,然后可以用req.params[0]、[1]得到,req.params為類數組對象。

    app.get(/^\/student\/([\d]{10})$/,function(req,res){
        res.send("學生信息,學號" + 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、靜態文件

Express 提供了內置的中間件 express.static 來設置靜態文件如:圖片, CSS, JavaScript 等,你可以使用 express.static 中間件來設置靜態文件路徑。例如,如果你將圖片, CSS, JavaScript文件放在 public 目錄下,你可以這么寫:

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

路由get、post這些東西,就是中間件,中間件講究順序,匹配上第一個之后,就不會往后匹配了。next函數才能夠繼續往后匹配。如果我的的get、post回調函數中,沒有next參數,那么就匹配上第一個路由,就不會往下匹配了。如果想往下匹配的話,那么需要寫next().

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

app.use()也是一個中間件。與get、post不同的是,他的網址不是精確匹配的。而是能夠有小文件夾拓展的。比如網址: 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("你好");
});

如果只寫一個/的話,就匹配所有網址

//當你不寫路徑的時候,實際上就相當于"/",就是所有網址
app.use(function(req,res,next){
    console.log(new Date());
    next();
});
4、內容渲染
  • 大多數情況下,渲染內容用res.render(),將會根據views中的模板文件進行渲染。如果不想使用views文件夾,想自己設置文件夾名字,那么app.set("views","aaaa");
  • 如果想寫一個快速測試頁,當然可以使用res.send()。這個函數將根據內容,自動幫我們設置了Content-Type頭部和200狀態碼。send()只能用一次,和end一樣。和end不一樣在哪里?能夠自動設置MIME類型。
  • 如果想使用不同的狀態碼,可以:
    res.status(404).send('Sorry, we cannot find that!');
  • 如果想使用不同的Content-Type,可以:
    res.set('Content-Type', 'text/html');
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容