node.js Express的使用

本文详细介绍了如何使用Express快速搭建Web服务器和API接口,包括安装、基本路由、参数处理、中间件的应用以及不同类型的中间件。通过实例演示,帮助读者理解Express在Web开发中的关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Express

  1. Express是基于node.js中http模块进一步封装出的包

  2. 使用Express我们可以方便快速的创建Web网站服务器或API接口服务器

安装

npm i express@4.17.1   //版本可根据自己需要

使用express实例一个服务

const express = require("express")  //引入express
​
const server = express() //创建一个实例
​
server.listen(8000,()=>{   //开启服务
    console.log("服务已开启,8000端口监听中~~");
})

设置响应get和post请求

const express = require("express")  //引入express
​
const server = express() //创建一个实例
​
​
// 设置响应客户端的get和post请求
server.get('/user',(req,res)=>{   //参数为请求url和回调函数
    res.send('<h1>请求成功!get</h1>')
})
server.post('/hello',(req,res)=>{
    res.send('<h1>请求成功!post</h1>')
})
​
server.listen(8000,()=>{   //开启服务
    console.log("服务已开启,8000端口监听中~~");
})

用postman测试接口

post:http://127.0.0.1:8000/hello

get:http://127.0.0.1:8000/user

响应正常

获取用户输入的url地址携带的query参数

参数可以通过回调函数中req.query获取

const express = require("express")  //引入express
​
const server = express() //创建一个实例
​
​
// 设置响应客户端的get和post请求
server.get('/user',(req,res)=>{   //参数为请求url和回调函数
    res.send(req.query)
})
​
​
server.listen(8000,()=>{   //开启服务
    console.log("服务已开启,8000端口监听中~~");
})

测试接口

get:http://127.0.0.1:8000/user?name=jack&age=18

正常响应

获取动态参数

参数可以通过回调函数中req.params获取

const express = require("express")  //引入express
​
const server = express() //创建一个实例
​
​
// 设置响应客户端的get和post请求
server.get('/user/:id/:name',(req,res)=>{   //参数为请求url和回调函数
    res.send(req.params)
})
​
​
server.listen(8000,()=>{   //开启服务
    console.log("服务已开启,8000端口监听中~~");
})

测试接口

get:http://127.0.0.1:8000/user/18/小李

正常响应

中间件的使用

定义一个全局的中间件

const express = require("express")
​
const server = express()
​
// 定义一个中间件
​
let a = (req,res,next)=>{
    console.log("我是一个简单的中间件,我起作用了!");
    next()   // 必须要在中间件执行完后调用该函数交给下一个中间件,否则后面的代码将不会被执行
}
​
// 中间件通过服务实例注册后为全局中间件,即server.use(a)
​
server.use(a)   //注册为全局中间件
​
​
server.get('/',(req,res)=>{
    res.send('<h1>响应成功!</h1>')   
})
​
server.listen(8000,()=>{
console.log("服务已开启,8000端口监听中~~");      
})

局部中间件的使用

const express = require("express")
​
const server = express()
​
// 定义一个中间件
​
let a = (req, res, next) => {
    console.log("我是一个简单的中间件a,我起作用了!");
    next()   // 必须要在中间件执行完后调用该函数交给下一个中间件,否则后面的代码将不会被执行
}
​
​
// 中间件通过服务实例注册后为全局中间件,即server.use(a)
server.use(a)   //注册为全局中间件
​
​
let b = (req, res, next) => {
    console.log("我是一个简单的中间件b,我起作用了!");
    next()   // 该中间件未经过全局注册可以在下面的路由中使用,局部中间件只会在使用后起作用
}
​
​
server.get('/', (req, res) => {
    res.send('<h1>响应成功!</h1>')
})
​
​
server.get('/user', b, (req, res) => {  //使用中间件b
    res.send('<h1>响应成功!</h1>')
})
​
​
server.listen(8000, () => {
    console.log("服务已开启,8000端口监听中~~");
})

中间件的分类

中间件有5大类 路由级别中间件 ,应用级别中间件,错误级别中间件,第三方中间件,express内置中间件,

  1. 通过app.use()或app.get()等绑定在app实例上的中间件叫做应用级别的中间件

  2. 绑定到exprss.Router()实例上的中间件,叫做路由级别的中间件,用法与应用级别的中间件用法相同

  3. 错误级别的中间件可以处理程序抛出的异常,该中间件需要定义在程序的末尾否则不生效,该中间件收4个参数

    app.use((err,req,res,next)=>{})

  4. 使用第三方中间件需要下载应用并注册

  5. express内置中间件之间引入使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值