首頁常見問題正文

前端Express指的是什么?Express能用來做什么?

更新時間:2023-10-24 來源:黑馬程序員 瀏覽量:

Express是基于Node.js平臺,快速、開放、極簡的 Web 開發(fā)框架。通俗的理解:Express的作用和Node.js內置的http模塊類似,是專門用來創(chuàng)建 Web 服務器的。本質就是一個 npm 上的第三方包,提供了快速創(chuàng)建 Web 服務器的便捷方法。

不使用Express,使用Node.js提供的原生http模塊也能創(chuàng)建Web服務器,http 內置模塊用起來很復雜,開發(fā)效率低;Express 是基于內置的 http 模塊進一步封裝出來的,能夠極大的提高開發(fā)效率。http內置模塊和Express類似于瀏覽器中 Web API 和 jQuery 的關系。后者是基于前者進一步封裝出來的。

對于前端程序員來說,最常見的兩種服務器,分別是:

Web 網站服務器:專門對外提供 Web 網頁資源的服務器。

API 接口服務器:專門對外提供 API 接口的服務器。
使用 Express,我們可以方便、快速的創(chuàng)建 Web 網站的服務器或 API 接口的服務器。

在項目所處的目錄中,運行如下的終端命令,即可將 express 安裝到項目中使用:

npm i express@4.17.1

創(chuàng)建基本的 Web 服務器,具體語法格式如下:

// 1.導入 express
const express = require('express')
// 2.創(chuàng)建 web 服務器
const app = express()

//3.調用 app.listen(端口號,啟動成功后的回調函數),啟動服務器
app.listen(80, () => {
console.log('express server running at http://127.0.0.1')
})

通過 app.get() 方法,可以監(jiān)聽客戶端的 GET 請求,具體的語法格式如下:

//參數1:客戶端請求的 URL地址
//參數2:請求對應的處理函數
//       req:請求對象(包含了與請求相關的屬性與方法)
//       res:響應對象(包含了與響應相關的屬性與方法)
app.get('請求URL',function(req,res){/*處理函數*/})

通過 app.post() 方法,可以監(jiān)聽客戶端的 POST 請求,具體的語法格式如下:

//參數1:客戶端請求的URL地址
//參數2:請求對應的處理函數
//       req:請求對象(包含了與請求相關的屬性與方法)
//       res:響應對象(包含了與響應相關的屬性與方法)
app.post('請求URL',function(req,res){/*處理函數*/})

通過 res.send() 方法,可以把處理好的內容,發(fā)送給客戶端:

app.get('/user', (req, res) => {
  // 向客戶端發(fā)送 JSON 對象
  res.send({name:'zs',age:20,gender:'男'})
})

app.post('/user') (req, res) => {
  //向客戶端發(fā)送文本內容
  res.send('請求成功')
})

通過 req.query 對象,可以訪問到客戶端通過查詢字符串的形式,發(fā)送到服務器的參數:

app.get('/', (req, res) => {
  // req.query 默認是一個空對象
  // 客戶端使用??name=zs&age=20 這種查詢字符串形式,發(fā)送到服務器的參數,
  // 可以通過 req.query 對象訪問到,例如:
  // req.query.name req.query.age
  console.log(req.query)
})

通過 req.params 對象,可以訪問到 URL 中,通過 : 匹配到的動態(tài)參數:

//URL地址中,可以通過:參數名的形式,匹配動態(tài)參數值
app.get('/user/:id', (req, res) => {
  // req.params默認是一個空對象
  // 里面存放著通過:動態(tài)匹配到的參數值
  console.log(req.params)
})


分享到:
在線咨詢 我要報名
和我們在線交談!