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 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请求') })