Node.js中express()

express()

express是什么卖宠?

  • express是Node.js的服務(wù)器框架
    定義:
  • express()是該框架的核心函數(shù)
  • express()用于創(chuàng)建一個(gè)express APP脂新。(Node.js + express)
  • express()函數(shù)是一個(gè)頂級(jí)函數(shù)

語(yǔ)法

const express = require('express') //引入模塊
const app = express() //暴露函數(shù) 成為頂級(jí)函數(shù)

express()方法

app.get()

定義:

  • app.get()方法通過(guò)回調(diào)函數(shù)處理GET請(qǐng)求胀糜。
  • 官方:通過(guò)回調(diào)函數(shù)把請(qǐng)求路由到指定路徑

語(yǔ)法

app.get(path,callback)
app.get('請(qǐng)求地址',回調(diào)函數(shù)) // => 中間件函數(shù)(鉤子函數(shù))
app.get('/',(req,res) => {

  console.log(req) //req就是Node.js的request對(duì)象
  console.log(res) //res就是Node.js的request對(duì)象
})

app.use()

定義:

  • app.use()在指定路徑上掛載中間件函數(shù)
    語(yǔ)法
app.use([path,] callback [, callback...])
app.use('路徑',回調(diào)函數(shù))

app.use('/about')

app.listen()

定義:

  • app.listen()用于為app綁定監(jiān)聽(tīng)酸休,監(jiān)聽(tīng)主機(jī)端口是否有請(qǐng)求進(jìn)來(lái)鸽扁。此方法與Node發(fā)http.Se
    語(yǔ)法
app.listen()

res.sendFile()

定義:

  • 按照指定路徑發(fā)送響應(yīng)數(shù)據(jù)(響應(yīng)數(shù)據(jù))顾稀。響應(yīng)數(shù)據(jù)在文件里面
    • 根據(jù)文件擴(kuò)展名設(shè)置Content-Type響應(yīng)HTTP標(biāo)頭字段汪厨。
    • 除非在選項(xiàng)對(duì)象中設(shè)置了根選項(xiàng),否則路徑必須是文件的絕對(duì)路徑蜂厅。

語(yǔ)法

res.sendFile(path [, options] [, fn]) //options:就是選項(xiàng)對(duì)象
res.sendFile('路徑' { 選項(xiàng)對(duì)象} ,回調(diào)函數(shù))
  • path:必須是一個(gè)絕對(duì)路徑
  • path:如果是一個(gè)相對(duì)路徑
  • options:就是選項(xiàng)對(duì)象匪凡。它是一個(gè)對(duì)象,對(duì)象里存儲(chǔ)的是一些屬性參數(shù)

res.status()

定義:

  • 設(shè)置響應(yīng)的HTTP的狀態(tài)碼

語(yǔ)法

res.status(403).end()
res.status(400).send('Bad Request')
res.status(400).sendFile('/absolute/path/404.png')

返回值:

  • 返回響應(yīng)對(duì)象

options

定義

  • options 就是選項(xiàng)對(duì)象掘猿。
  • 它是一個(gè)對(duì)象
  • 對(duì)象里存儲(chǔ)的是一些屬性參數(shù)病游。

語(yǔ)法

{
  path:'',
  chaset: 'utf-8'
}

總結(jié)

  1. Node.js是什么?

    Node.js是基于V8引擎的JS運(yùn)行環(huán)境稠通。

  2. Node.js和Express的關(guān)系

    • Node.js用于構(gòu)建服務(wù)器
    • Express是一個(gè)Node框架:基于Node平臺(tái)開(kāi)發(fā)APP這件事變得更容易衬衬。同時(shí)對(duì)Node開(kāi)發(fā)進(jìn)行了擴(kuò)展买猖。

Express框架構(gòu)建App的步驟

第一步:使用npm init進(jìn)行初始化

mkdir myapp
cd myapp
npm init --yes

第二步:安裝express

npm install express  //局部安裝
npm install -g express //全局安裝

第三步:導(dǎo)入express

New-item app.js
# 打開(kāi)app.js 輸入
const express = require('express')

第四步:構(gòu)建APP實(shí)例

const app = express() //返回運(yùn)行在node服務(wù)器上的app實(shí)例對(duì)象。

第五步:監(jiān)聽(tīng)服務(wù)器端口3000

app.listen(3000,() => {
  '服務(wù)器已運(yùn)行在: http://localhost:3000'
})

第6步:配置路由

//get請(qǐng)求 200成功
app.get('/',(req,res) => {
  //res.send()//發(fā)送 text/plain||text/html
  //res.sendFile() //發(fā)送文件內(nèi)容  application/json
  res.render()//渲染視圖模版
})
//get請(qǐng)求 301轉(zhuǎn)向
app.get('./about-us',(req,res) => {
  res.redirect('./about')//重定向到'./about'請(qǐng)求
})
//get請(qǐng)求 404頁(yè)面未找到  必須放最后
app.use((req,res) => {
  res.status(404).render('404')
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末佣耐,一起剝皮案震驚了整個(gè)濱河市政勃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兼砖,老刑警劉巖奸远,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異讽挟,居然都是意外死亡懒叛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)耽梅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)薛窥,“玉大人,你說(shuō)我怎么就攤上這事眼姐∽缑裕” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵众旗,是天一觀的道長(zhǎng)罢杉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)贡歧,這世上最難降的妖魔是什么滩租? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮利朵,結(jié)果婚禮上律想,老公的妹妹穿的比我還像新娘。我一直安慰自己绍弟,他們只是感情好技即,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著晌柬,像睡著了一般姥份。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上年碘,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音展鸡,去河邊找鬼屿衅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛莹弊,可吹牛的內(nèi)容都是我干的涤久。 我是一名探鬼主播涡尘,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼响迂!你這毒婦竟也來(lái)了考抄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔗彤,失蹤者是張志新(化名)和其女友劉穎川梅,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體然遏,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贫途,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了待侵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丢早。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖秧倾,靈堂內(nèi)的尸體忽然破棺而出怨酝,到底是詐尸還是另有隱情,我是刑警寧澤那先,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布农猬,位于F島的核電站,受9級(jí)特大地震影響胃榕,放射性物質(zhì)發(fā)生泄漏盛险。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一勋又、第九天 我趴在偏房一處隱蔽的房頂上張望苦掘。 院中可真熱鬧,春花似錦楔壤、人聲如沸鹤啡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)递瑰。三九已至,卻和暖如春隙畜,著一層夾襖步出監(jiān)牢的瞬間抖部,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工议惰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慎颗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像俯萎,于是被迫代替她去往敵國(guó)和親傲宜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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