【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

相关文章

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.