Node.js教程笔记(三)express

news2024/9/21 18:37:45

学习目标

能够使用express.static()快速托管静态资源

能够使用express路由精简项目结构

能够使用常见的express中间件

能够使用express创建API接口

能够在express中启用cors跨域资源共享


目录

初识Express

Express路由

Express中间件

使用Express写接口


1、初识Express

1.1 Express简介

1、什么是Express

在这里插入图片描述

2、进一步理解Express

在这里插入图片描述

Express能做什么

在这里插入图片描述

1.2、Express的基本使用

1、安装express

在这里插入图片描述

2、创建基本的Web服务器

在这里插入图片描述

3、监听GET请求

在这里插入图片描述

4、监听POST请求

在这里插入图片描述

5、把内容相应给客户端

在这里插入图片描述

6、获取URL中携带的查询参数

在这里插入图片描述

7、获取URL中的动态参数

在这里插入图片描述

1.3 托管静态资源

1、express.static()

在这里插入图片描述

2托管多个静态资源目录

在这里插入图片描述

3、挂载路径前缀

在这里插入图片描述

1.4、nodemon

1、为什么要使用nodemon

在这里插入图片描述

2、安装nodemon

在这里插入图片描述

3、使用nodemon

在这里插入图片描述

2、路由的学习

2.1、路由的概念

1、什么是路由

在这里插入图片描述

2、现实生活中的路由

在这里插入图片描述

3、Express中的路由

在这里插入图片描述

4、express中的路由例子

在这里插入图片描述

5、路由的匹配过程

在这里插入图片描述

2.2、路由的使用

1、最简单的用法

在这里插入图片描述

2、模块化路由

在这里插入图片描述

3、创建路由模块

在这里插入图片描述

4、注册路由模块

在这里插入图片描述

5、为路由添加前缀

在这里插入图片描述

3、express中间件

3.1 中间件的概念

1、什么是中间件

在这里插入图片描述

2、现实生活中的例子

在这里插入图片描述

3、express中间件的调用流程

在这里插入图片描述

4、Express中间件的格式

在这里插入图片描述

5、next函数的作用

在这里插入图片描述

3.2、express中间件的初体验

1、定义中间件函数

在这里插入图片描述

2.全局生效的中间件

在这里插入图片描述

3、定义全局中间件的简化形式

在这里插入图片描述

4、中间件的作用

在这里插入图片描述

5、定义多个全局中间件

在这里插入图片描述

6、局部生效的中间件

在这里插入图片描述

7、定义多个局部中间件

在这里插入图片描述

8、了解中间件的5个使用注意事项

在这里插入图片描述

3.3、中间件的分类

在这里插入图片描述

1、应用级别的中间件

在这里插入图片描述

2、路由级别的中间件

在这里插入图片描述

3、错误级别的中间件

在这里插入图片描述

4、Express内置的中间件

在这里插入图片描述

5、第三方的中间件

在这里插入图片描述

3.4、自定义中间件

1、需求描述与实现步骤

在这里插入图片描述

2、定义中间件

在这里插入图片描述

3、监听req的data事件

在这里插入图片描述

4、监听req的end事件

在这里插入图片描述

5、使用querystring模块解析请求体数据

在这里插入图片描述

6、将解析出来的数据对象挂载为req.body

在这里插入图片描述

7、将自定义中间件封装为模块

在这里插入图片描述

4、使用Express写接口

4.1 创建基本的服务器

在这里插入图片描述

4.2、创建API路由模块

在这里插入图片描述

4.3、编写get接口

在这里插入图片描述

4.5、编写post接口

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/182353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【通信原理(含matlab程序)】实验三 数字基带信号及其频谱特性

💥💥💞💞欢迎来到本博客❤️❤️💥💥 本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~ &#x…

Android OpenCV(二)主体识别 位置检测

前言 工作中遇到需要通过OpenCV找到图片主体体积占图片百分比的比例,这里做一个问题解决思路的记录。该方面新手小白,有不对的地方可以评论指出哈 。 重要API Sobel算法 Sobel 计算参考文章 索贝尔算子是计算机视觉领域的一种重要处理方法。 主要用于…

内网传输——解决物联网信息安全和隐私保护问题

与普通电脑系统不同,物联网建立在嵌入式系统的基础之上,其通信协议因设备和应用程序而异。目前还没有一个统一的中央系统来构建安全措施,那么,在企业物联网实际应用中,如何保证信息安全?物联网生态系统的安…

OpenHarmony社区运营报告(2022年12月)

本月快讯• 本月新增22款产品通过兼容性测评,累计220款产品通过兼容性测评。• 12月28日,OpenAtom OpenHarmony(以下简称“OpenHarmony”)凭借其创新的技术特性和开源生态建设成果,荣膺“InfoQ 2022年度十大开源新锐项…

Redis实现用户签到 | 黑马点评

目录 一、BitMap用法 1、介绍 2、用法 3、练习 二、签到功能 1、需求 2、代码实现 三、签到统计 1、分析 2、接口实现 一、BitMap用法 1、介绍 我们完全可以通过数据库签到表来实现签到功能,但是假如我们的用户达到千万,每年平均签到10次&am…

基于微信小程序的网络安全科普系统小程序

文末联系获取源码 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.…

设计模式之简单工厂

现在有一个这样的需求:控制台输入俩个数,并输入运算符,计算并输出结果。上述需求乍一看,特别像一个小型的计算器,记得初学Java时,实现过。 实现一: 创建计算器类,控制台输入俩个数…

windows 10 本地配置Oracle19+用navicat连接

文章目录0.背景环境0.背景知识1.卸载旧版本、安装 oracle 192.配置3.用 Navicat 连接3.1 下载instantclient193.2 配置dll使能连接高版本oracle3.3 配置连接4. 相关操作命令5.本地命令行登录orclpdb下的用户0.背景环境 本机已安装oracle12和Navicat15,需要先彻底卸载…

【docker】基础知识梳理与使用

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 docker基础知识的梳理与使用 1. docker的理解 Registry(仓库):是一个集中存储与分发镜像的服务。最常用的Registry是…

油井远程监控解决方案

1.项目背景 油田生产过程中,由于井筒内存在着不同程度的缺陷,会产生各种问题。而油井开采设备的连续稳定运行是保证石油开采的首要条件,但是由于油田地域广阔,油井分布广泛,没有规则性的油井工作状况的监测和控制&…

Acwing4655. 重新排序(差分模板题)

给定一个数组 A 和一些查询 Li,Ri,求数组中第 Li 至第 Ri 个元素之和。 小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。 小蓝想知道相比原数组,所有查询结果的总和最多可以增加多少? …

【树】二叉树的非递归遍历

非递归的遍历需要使用栈保存当前不输出的结点,并且三种遍历顺序步骤有所不同。中序遍历1.查看其当前结点是否为空:若非空则将当前结点入栈,指针指向其左孩子;若当前结点为空,说明上一个入栈的结点没有左孩子&#xff0…

vite+vue3+elementPlus搭建项目

创建基础框架 方式一: 创建命令 npm create vitelatest or yarn create vite 注意:这里可能会出现一个坑,注意你的node版本(node版本过低就会报错) 创建成功 创建成功后运行以下命令即可 yarn yarn dev 这种创建方…

C技能树-判断语句

三个数从小到大排序并输出 任意输入3个整数&#xff0c;使用if语句对这3个整数由小到大进行升序排序。请判断下面哪一项无法实现该功能。 #include <stdio.h>/* 交换x和y */ void swap(int* x, int* y) {int temp *x;*x *y;*y temp; }int main(int argc, char** arg…

[红明谷CTF 2021]write_shell

目录 信息收集 payload 补充知识 信息收集 代码审计 <?php error_reporting(0); highlight_file(__FILE__); function check($input){if(preg_match("/| |_|php|;|~|\\^|\\|eval|{|}/i",$input)){// if(preg_match("/| |_||php/",$input)){die(h…

(二十七)Map集合体系

目录 前言: 一、Map集合的遍历方式之一:键找值 二、Map集合的遍历方式之二:键值对 三、Map集合的遍历方式之三:Lambda表达式 四、Map集合的实现类HashMap 五、Map集合的实现类LinkedHashMap 六、Map集合的实现类TreeMap 七、不可变集合 前言: ①Map集合是一种双列集合&a…

机器学习中的聚类算法

1. 概述根据所拥有的数据&#xff0c;可以使用三种不同的机器学习方法&#xff0c;包括监督学习、半监督学习和无监督学习。在监督学习中&#xff0c;根据已标记数据&#xff0c;因此可以确定输出是关于输入的正确值。通过半监督学习&#xff0c;用户将拥有一个大型数据集&…

提高mysql性能:设计阶段

合适的表设计 基本原则 避免太多的列 太多的列会导致mysql从行缓存中将编码过的列转换为行数据时花费大量大代价。 减少太多的关联 为减少太多的关联造成解析和查询的性能影响&#xff0c;应该将单表的关联控制在12个之内。 合理使用枚举 枚举只适用于值相对固定&#x…

go入门——基础语法

go环境安装 1、安装 go官网&#xff1a;Downloads - The Go Programming Language (google.cn) go中文网&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com) 这里我是amd64位win10系统&#xff0c;所以我下载这个 下载完成之后安装到自己喜欢的目录就好…

Java:基于XML的Spring使用【IOC容器】

基于XML的Spring使用一、Spring IOC 底层实现1.1 BeanFactory与ApplicationContexet1.2 图解IOC类的结构二、 Spring依赖注入数值问题【重点】2.1 字面量数值2.2 CDATA区2.3 外部已声明bean及级联属性赋值2.4 内部bean2.5 集合三、 Spring依赖注入方式【基于XML】3.1 set注入3.…