关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
打开边栏(ESC)
关闭边栏(ESC)
中间件的基本使用
const express = require('express') const app = express() // 常量mv 所指向的,就是一个中间件函数 const mv = function(req,res,next){ console.log('这是一个最简单的中间件函数!') // 注意: 在当前中间件的业务处理完毕之后,必须调用next()这个函数 // 表示把流转关系转交给下一个中间件或路由 next() } app.use(mv) //定义一个路由 app.get('/', (req, res) => { res.send('Home page.') }) app.listen(80,()=>{ console.log('server at http://127.0.0.1'); })3.2.1 定义中间件函数
可以通过如下的方式,定义一个最简单的中间件函数:
// 常量mv 所指向的,就是一个中间件函数 const mv = function(req,res,next){ console.log('这是一个最简单的中间件函数!') // 注意: 在当前中间件的业务处理完毕之后,必须调用next()这个函数 // 表示把流转关系转交给下一个中间件或路由 next() }3.2.2 全局生效的中间件
客户端发起的任何请求,到达服务端之后,都会触发这个中间件,叫做全局生效的中间件。
通过调用app.use(中间件函数),即可定义一个全局生效的中间件,示例代码如下:
//定义一个最简单的中间件函数 const mw = function(req, res, next) { console.log('这是最简单的中间件函数') //把流转关系,转交给下一个中间件或路由 next() } //将 mw 注册为全局生效的中间件 app.use(mw)3.3.3 定义全局生效中间件的简化形式
//全局生效的中间价 app.use(function(req,res,next){ console.log('这是最简单的中间件函数') next() })3.3.4 中间件的作用
多个中间件之间,共享同一份 req 和 res。基于这样的特性,我们可以在上游的中间件中,统一为 req 或 res 对象添加自定义的属性或方法,供下游的中间件或路由进行使用。
3.3.5 定义多个全局中间件
可以使用app.use() 连续定义多个 全局中间件。客户端请求到达服务器之后,会按照中间件定义的先后顺序依次调用,示例代码如下:
//定义第一个中间件 app.use((req, res, next) => { console.log('调用了第一个中间件') next() }) //定义第二个中间件 app.use((req, res, next) => { console.log('调用了第二个中间件') next() }) //定义一个路由 app.get('/user', (req, res) => { //请求这个路由,会依次触发上述两个全局中间件 res.send('Home page.') })3.3.6 局部生效的中间件
不使用app.use()定义的中间件,叫做局部生效的中间件,示例代码如下:
//定义一个局部中间件函数 const mw1 = (req, res, next) => { console.log('这是一个局部中间件函数') next() } //mw1 只会在当前路由生效 这种用法属于“局部生效的中间件” app.get('/', mw1, (req, res) => { res.send('home page.') }) // mv1中间件不会影响下面的这个路由 app.get('/user', (req, res) => { res.send('user page.') })3.3.7 定义多个局部中间件
可以在路由中,通过两种等价的方式,使用多个局部中间件。
// 以下两种写法是“完全等价”的,根据自己的喜好,任意选择任意一种方式使用 app.get('/',mw1,mw2,(req,res)=>{res.send('Home page')}) app.get('/',[mw1,mw2],(req,res)=>{res.send('Home page')})
赏
相关推荐
windows如何把已安装的nodejs高版本降级为低版本
第一步:先清空本地安装的node.js版本
1.按健win+R弹出窗口,键盘输入cmd,然后敲回车,然后进入命令控制行窗口,并输入where node查看之前本地安装的node的路径
2.找到上面找到的路径,将node.exe所在的父目录里面的所有东西都删除
3.为了彻底删除之前安装的node.js,鼠...
This application is only supported on Windows 8.1, Windows Server 2012 R2, or hi gher.
有的nodejs版本不支持win7,在win7系统中执行npm -v时会有以下提示
This application is only supported on Windows 8.1, Windows Server 2012 R2, or hi
gher.
下载v12.16.2及之前的版本即可
https://nodejs.org/d...
评论加载中...