【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 controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no