Node.js中express()

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'
}

總結

  1. Node.js是什么?

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

  2. 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')
})
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容