| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> express -> 正文阅读 |
|
[JavaScript知识库]express |
目录 express??????????? 是基于Node.js,快速、开放、极简的web开发框架,专门用来创建web服务器 ?????????? 本质:Npm上的第三方包,提供了创建web服务器的便捷方法 ??????????? 好处:提高开发效率 服务器: ?????????? ①Web网站服务器 ?????????? ②API接口服务器 安装express ???npm i express@4.17.1 创建基本的服务器
监听GET请求
监听POST请求
把内容响应给客户端 通过res.send()方法,可以把处理好的内容,发送给客户端
获取URL中携带的查询参数
获取URl中的动态参数
托管静态资源 express.static()
托管多个静态多个静态资源文件目录 多次调用express.static()函数即可
访问静态资源文件时,express.static()函数会根据目录的添加顺序查找所需的文件 挂载路径前缀
nodemon 监听项目文件的变动 ?npm i -g nodemon express路由客户端的请求与服务器处理函数之间的映射关系 请求的类型、请求的URL地址、处理函数 app.Method(PATH,HANDER) 例如:app.get(‘/’,function(req,res){ res.send(‘hello world”)) } 路由匹配过程 每当一个请求到达服务器之后,需要先经过路由匹配,只有匹配成功之后,才会调用对应的处理函数 在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的URL同时匹配成功,则Express会将这次请求,转交给对应的function函数进行处理 注意点:①按照定义的先后顺序进行匹配 ??????②请求类型和请求的URL同时匹配成功才会调用对应的处理函数 路由挂载到APP上 基本用法
模块化路由 将路由抽离为单独的模块 ①创建路由模块对应的.js文件 ②调用express.Router()函数创建路由对象 ③向路由对象上挂载具体的路由 ④使用module.exports向外共享路由对象 ⑤使用app.use()函数注册路由模块
路由使用
为路由模块添加前缀
express中间件 ?? ? ? ? ? ? ?? 对请求进行预处理 业务流程的中间处理环节 本质:一个function()处理函数
中间件函数的形参列表中,必须包含next参数,而路由处理函数中只包含req和res next函数的作用 next函数是实现多个中间件连续调用的关键,他表示把流转关系转交给下一个中间件或路由 定义中间件函数
全局生效的中间件 客户端发送的任何请求,到达服务器之后,都会触发的中间件 app.use(中间件函数) 中间件作用 多个中间件之间,共享同一份req和res,基于这样的特性,可以在上游的中间件中,统一为req和res对象添加自定义的属性或方法,供下游的中间件或路由进行使用 定义多个全局中间件 ??多次调用app.use() ?按照定义顺序依次调用 局部生效的中间件 ??不使用app.use()定义的中间件
定义多个局部的中间件 //以下两种写法是等价的
中间件注意事项 ①一定要在路由之前注册中间件 ②客户端发送过来的请求,可以连续调用多个中间件进行处理 ③执行完中间件的业务代码之后,不要忘记调用next()函数 ④防止代码逻辑混乱,调用完next()之后不要写格外代码 ⑤连续调用多个中间件,多个中间之间,共享req和res对象 中间件分类 ①应用级别 ????绑定到app实例上 ②路由级别 ????绑定到express.Router实例上 ③错误级别 ????专门捕获整个项目中错误发生的异常错误 ?????????????function函数中有4个形参,顺序从前到后,分别是(err,req,res,next) ??????????????注意:这个是特殊的,要注册在路由之后 ④express内置 ? ? ? ? ? ? ? ? express.static ??无兼容性 ??快速托管静态资源 ??????????????express.json ??有兼容性 ?解析JSON格式的请求数据 ??????????????express.urlencoded ?有兼容性 ???解析URL-encoded格式的请求数据
⑤第三方
写接口使用express写接口.js
apiRouter.js
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:09:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |