更新時間: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)
})1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19