初学者使用 express 的使用 详解 一定要来看看

本文详细介绍了Express,一个基于Node.js的快速web开发框架。讲解了如何使用Express编写GET和POST接口,解决跨域问题,以及使用JSONP。内容包括Express的中间件机制、静态资源托管、路由匹配、错误处理等关键知识点,适合前端开发者入门学习。

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

express的使用

注意: Express 是一个第三方模块,用于快速搭建服务器(替代http模块) Express 是一个基于 Node.js 平台,快速、开放、极简的web 开发框架。

1.express中 GET 请求 中的 req.query 是用来获取客户端发送请求时携带的查询字符串

app.get('/',(req,res)=>{
    // 注意: 在express中 req.query可以访问到用户发送过来的查询参数
    console.log(req.query)
    res.send(req.query)
})
  1. 1 express中 GET 请求 中的 req.params 是用来动态匹配URL携带的参数

app.get('/gyj/:id',(req,res)=>{
    // 注意: :id 是动态参数
    // req.params 是动态匹配的url参数
    console.log(req.params)
    res.send(req.params)
})

2.使用express.static()提供的托管静态资源,可以非常方便的创建一个静态资源服务器 对外使用

2.1 使用方法 :

app.use(express.static('需要对外开放文件的路径'))

3.挂载路径前缀

3.1.使用 方法

 app.use('/gyj',express.static('需要对外开放文件的路径'))

4.安装 nodemon (可以监听代码发生改变时 ,自动刷新 不需要手动关闭终端 在重新打开了)

4.1 在终端输入命令

npm i -g nodemon

4.2 使用方法 :

nodemon app.js

5. 路由的匹配过程

5.1 路由就是客户端发送过得请求 ,与服务器处理函数之间的映射关系5.2 只有 请求URL和请求的方式同时匹配才会执行对应的函数

6.创建自定义路由模板

// 导入express 模块
const express = require('express')
// 调用express中的 Router方法 创建路由对象
const router = express.Router()
// 挂载具体的路由
router.get('/gyj/haoshuai', (req, res) => {
    res.send('发起了GET请求成功')
})
router.post('/gyj/haoshuai', (req, res) => {
    res.send('发起了POST请求成功')
})
// 向外导出路由对象
module.exports = router

6.1 导入自定义路由模板 并使用

// 导入 express 模块
const express = require('express')
// 创建web 服务器
const app = express()
// 导入自定义路由模块
const router = require('./03-router')
// 注意 : app.use()方法 就是用来注册全局中间件
// 使用app.use()注册路由模块
app.use(router)
// 启动服务器
app.listen(80, () => {
    console.log('http://127.0.0.1')
})

6.2 挂载路由前缀

// 使用app.use()注册路由模块时,并添加统一的访问前缀    /api
app.use('/api',router)

7.Express 中间件,本质就是一个 function 处理函数

注意 : 在function处理函数中 如果存在 next 形参 那么它就是中间件处理函数 , 而路由处理函数只包括 req res 这两种形参

7.1 代码示例:

app.get('/',(req,res,next)=>{
    console.log('发起了GET请求')
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值