【Node.js工程师养成计划】之express中间件与接口规范

2024-05-01 22:44

本文主要是介绍【Node.js工程师养成计划】之express中间件与接口规范,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Express中间件的概念与基本应用

const express = require('express')// 加一个注释,用以说明,本项目代码可以任意定制更改
const app = express()const PORT = process.env.PORT || 3000// // 挂载路由
// app.use('/api', router)// // 挂载统一处理服务端错误中间件
// app.use(errorHandler())app.get('/', (req, res) => {console.log(`${req.method}, ${req.url}, ${Date.now()}`);res.send('/index')
})app.get('/register', (req, res) => {console.log(`${req.method}, ${req.url}, ${Date.now()}`);res.send('/iregisterdex')
})app.get('/login', (req, res) => {console.log(`${req.method}, ${req.url}, ${Date.now()}`);res.send('/login')
})app.listen(PORT, () => {console.log(`Server is running at http://localhost:${PORT}`)
})

封装个方法:

const express = require('express')// 加一个注释,用以说明,本项目代码可以任意定制更改
const app = express()const PORT = process.env.PORT || 3000function logs(req) {console.log(`${req.method}, ${req.url}, ${Date.now()}`);console.log(`${req.method}, ${req.url}, ${Date.now()}`);console.log(`${req.method}, ${req.url}, ${Date.now()}`);
}app.get('/', (req, res) => {logs(req)res.send('/index')
})app.get('/register', (req, res) => {logs(req)res.send('/iregisterdex')
})app.get('/login', (req, res) => {logs(req)res.send('/login')
})app.listen(PORT, () => {console.log(`Server is running at http://localhost:${PORT}`)
})

发现也并不完美

写个中间件

const express = require('express')// 加一个注释,用以说明,本项目代码可以任意定制更改
const app = express()const PORT = process.env.PORT || 3000app.use((req, res, next) => {console.log(`${req.method}, ${req.url}, ${Date.now()}`);next()
})// // 挂载路由
// app.use('/api', router)// // 挂载统一处理服务端错误中间件
// app.use(errorHandler())// 中间件写在要使用的逻辑前面
app.get('/', (req, res) => {res.send('/index')
})app.get('/register', (req, res) => {res.send('/register')
})app.get('/login', (req, res) => {res.send('/login')
})app.listen(PORT, () => {console.log(`Server is running at http://localhost:${PORT}`)
})

二、不同中间件类别的使用方式

中间件分类:

  • 应用程序级别中间件
  • 路由级别中间件
  • 错误处理中间件
  • 内置中间件
  • 第三方中间件

正在更新。。。

这篇关于【Node.js工程师养成计划】之express中间件与接口规范的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/952850

相关文章

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏