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é)
-
Node.js是什么?
Node.js是基于V8引擎的JS運(yùn)行環(huán)境稠通。
-
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')
})