express()
express是什么?
- express是Node.js的服務器框架
定義: -
express()是該框架的核心函數(shù) -
express()用于創(chuàng)建一個express APP。(Node.js + express) -
express()函數(shù)是一個頂級函數(shù)
語法
const express = require('express') //引入模塊
const app = express() //暴露函數(shù) 成為頂級函數(shù)
express()方法
app.get()
定義:
-
app.get()方法通過回調函數(shù)處理GET請求。 - 官方:通過回調函數(shù)把請求路由到指定路徑
語法
app.get(path,callback)
app.get('請求地址',回調函數(shù)) // => 中間件函數(shù)(鉤子函數(shù))
app.get('/',(req,res) => {
console.log(req) //req就是Node.js的request對象
console.log(res) //res就是Node.js的request對象
})
app.use()
定義:
-
app.use()在指定路徑上掛載中間件函數(shù)
語法
app.use([path,] callback [, callback...])
app.use('路徑',回調函數(shù))
app.use('/about')
app.listen()
定義:
-
app.listen()用于為app綁定監(jiān)聽,監(jiān)聽主機端口是否有請求進來。此方法與Node發(fā)http.Se
語法
app.listen()
res.sendFile()
定義:
- 按照指定路徑發(fā)送響應數(shù)據(jù)(響應數(shù)據(jù))。響應數(shù)據(jù)在文件里面
- 根據(jù)文件擴展名設置Content-Type響應HTTP標頭字段。
- 除非在選項對象中設置了根選項,否則路徑必須是文件的絕對路徑。
語法
res.sendFile(path [, options] [, fn]) //options:就是選項對象
res.sendFile('路徑' { 選項對象} ,回調函數(shù))
- path:必須是一個絕對路徑
- path:如果是一個相對路徑
- options:就是選項對象。它是一個對象,對象里存儲的是一些屬性參數(shù)
res.status()
定義:
- 設置響應的HTTP的狀態(tài)碼
語法
res.status(403).end()
res.status(400).send('Bad Request')
res.status(400).sendFile('/absolute/path/404.png')
返回值:
- 返回響應對象
options
定義
-
options就是選項對象。 - 它是一個對象
- 對象里存儲的是一些屬性參數(shù)。
語法
{
path:'',
chaset: 'utf-8'
}
總結
-
Node.js是什么?
Node.js是基于V8引擎的JS運行環(huán)境。
-
Node.js和Express的關系
- Node.js用于構建服務器
- Express是一個Node框架:基于Node平臺開發(fā)APP這件事變得更容易。同時對Node開發(fā)進行了擴展。
Express框架構建App的步驟
第一步:使用npm init進行初始化
mkdir myapp
cd myapp
npm init --yes
第二步:安裝express
npm install express //局部安裝
npm install -g express //全局安裝
第三步:導入express
New-item app.js
# 打開app.js 輸入
const express = require('express')
第四步:構建APP實例
const app = express() //返回運行在node服務器上的app實例對象。
第五步:監(jiān)聽服務器端口3000
app.listen(3000,() => {
'服務器已運行在: http://localhost:3000'
})
第6步:配置路由
//get請求 200成功
app.get('/',(req,res) => {
//res.send()//發(fā)送 text/plain||text/html
//res.sendFile() //發(fā)送文件內容 application/json
res.render()//渲染視圖模版
})
//get請求 301轉向
app.get('./about-us',(req,res) => {
res.redirect('./about')//重定向到'./about'請求
})
//get請求 404頁面未找到 必須放最后
app.use((req,res) => {
res.status(404).render('404')
})