【Node.js】认识express并创建基本web服务器:

2023-09-14 23:28:17


一、初识 Express
【1】Express 简介

【1-1】什么是 Express
Express 的中文官网: http://www.expressjs.com.cn/
在这里插入图片描述

【1-2】进一步理解 Express
在这里插入图片描述

【1-3】Express 能做什么
在这里插入图片描述

【2】Express 的基本使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【3】托管静态资源

【3-1】express.static()
在这里插入图片描述

【3-2】托管多个静态资源目录
在这里插入图片描述

【3-3】挂载路径前缀
在这里插入图片描述

【案例】在这里插入图片描述
默认显示没有前缀的静态资源目录,如果多个都是没有前缀的静态资源目录,则加载最前面那个
(前面那个的目录没有,则加载后面那个目录)在这里插入图片描述在这里插入图片描述

【4】nodemon

【4-1】为什么要使用 nodemon(https://www.npmjs.com/package/nodemon)
但是vs code开启了自动保存的话,nodemon会不停的重启项目,此时会发生报错,解决:ctrl+c=》启动项目(或关闭自动保存)
在这里插入图片描述

【4-2】安装 nodemon与使用
在这里插入图片描述
在这里插入图片描述

二、Express 路由
【1】路由的概念

在这里插入图片描述
在这里插入图片描述

【2】路由的使用

【2-1】最简单的用法
在这里插入图片描述

【2-2】模块化路由
在这里插入图片描述
【案例】
(1)创建路由模块
在这里插入图片描述
(2)注册路由模块
在这里插入图片描述

三、Express 中间件
【1】中间件的概念

【1-1】什么是中间件
在这里插入图片描述

【1-2】Express 中间件的调用流程
在这里插入图片描述

【1-3】Express 中间件的格式
在这里插入图片描述

【1-4】next 函数的作用
在这里插入图片描述

【2】Express 中间件的初体验

【2-1】定义中间件函数
在这里插入图片描述

【2-2】全局生效的中间件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【2-3】中间件的作用
在这里插入图片描述

【2-4】局部生效的中间件
在这里插入图片描述
在这里插入图片描述

【2-5】了解中间件的5个使用注意事项
在这里插入图片描述

【3】中间件的分类

在这里插入图片描述

【3-1】应用级别的中间件
在这里插入图片描述

【3-2】路由级别的中间件
在这里插入图片描述

【3-3】错误级别的中间件
在这里插入图片描述

【3-4】Express内置的中间件
在这里插入图片描述

【3-5】路由级别的中间件
在这里插入图片描述

【4】自定义中间件

【4-1】需求描述与实现步骤在这里插入图片描述在这里插入图片描述
【4-2】将自定义中间件封装为模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、使用 Express 写接口
【1】创建基本的服务器

在这里插入图片描述

【2】创建 API 路由模块

在这里插入图片描述

【3】编写 GET 接口

在这里插入图片描述

【4】编写 POST 接口

在这里插入图片描述

【5】CORS 跨域资源共享

在这里插入图片描述

在这里插入图片描述

【5-1】使用 cors 中间件解决跨域问题
在这里插入图片描述

【5-2】什么是 CORS
在这里插入图片描述
在这里插入图片描述

【5-3】CORS 响应头部 - Access-Control-Allow-Origin
在这里插入图片描述
在这里插入图片描述

【5-4】CORS 响应头部 - Access-Control-Allow-Headers
在这里插入图片描述

【5-5】CORS 响应头部 - Access-Control-Allow-Methods
在这里插入图片描述

【5-6】CORS请求的分类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【6】JSONP 接口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【案例】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更多推荐

干净优雅的做iOS应用内全局交互屏蔽

本文字数:4930字预计阅读时间:28分钟01交互屏蔽的需求很多应用开发者都会遇到这样一个需求,当程序需要处理某个敏感的核心任务,或者执行某些动画时,需要杜绝一切外部干扰,优先保证任务的完成,之后再去处理其它任务。否则如果在处理过程中受到外部事件的干扰,可能会引入严重的问题,而规避这些问题需要额外编写过多的逻辑。例如,

不好意思,Mybatis Plus 该换了

使用fluentmybatis可以不用写具体的xml文件,通过javaapi可以构造出比较复杂的业务sql语句,做到代码逻辑和sql逻辑的合一。不再需要在Dao中组装查询或更新操作,在xml或mapper中再组装参数。那对比原生Mybatis,MybatisPlus或者其他框架,FluentMybatis提供了哪些便利

R300升级款无人车开发平台,助力开发者快速上手、高效验证算法

R300升级款是一款科研无人车开发平台,旨在为无人车开发者提供快速上手开发和高效验证算法的解决方案。该平台集成了多款无人车底盘,包括履带式、四轮差速、阿克曼、麦克纳姆轮底盘等,以满足不同形式和配置的需求,并搭载了RTK定位系统、双目相机、深度相机和激光雷达等多种传感器,以满足开发者的科研需求。此外,平台还提供了丰富的案

Linux shell编程学习笔记1:关于shell的前世今生

一、什么是Shell?Shell英文单词的原意是“外壳”,在计算机领域专指在操作系统(OperatingSystem)外层,提供用户界面(UserInterface)的程序,主要负责将用户的命令(Command)转化为操作系统可识别的指令(Instruction)。二、UnixshellUnix诞生于1969年,是最早

android px ps dp直接的转换

转换方式看这篇文章:https://blog.csdn.net/sinat_28324227/article/details/50780359下面是ppi一览2.8英寸分辨率为640×480(VGA)像素密度286PPI3.2英寸分辨率为480×320(HVGA)像素密度167PPI3.3英寸分辨率为854×480(W

Linux命令行教程:使用head和tail命令快速查看文件的开头和结尾

文章目录简介A.什么是`head`和`tail`命令B.`head`和`tail`命令的作用和用途`head`命令A.命令格式和语法B.常见选项和参数1.`-n`:指定显示的行数2.`-c`:指定显示的字节数3.`-v`:显示文件名C.示例和应用实例1.显示文件的前几行2.显示多个文件的前几行3.结合管道使用D.注意事

PROFIBUS主站转ETHERCAT协议网关

产品介绍JM-DPM-ECT是自主研发的一款PROFIBUS-DP主站功能的通讯网关。该产品主要功能是将各种PROFIBUS-DP从站接入到ETHERCAT网络中。本网关连接到PROFIBUS总线中作为主站使用,连接到ETHERCAT总线中作为从站使用。产品参数技术参数◆PROFIBUS-DP/V0协议符合GB/T20

《深入PostgreSQL的存储引擎:原理与性能》

🌷🍁博主猫头虎(🐅🐾)带您GotoNewWorld✨🍁🐅🐾猫头虎建议程序员必备技术栈一览表📖:🛠️全栈技术FullStack:📚MERN/MEAN/MEVNStack|🌐Jamstack|🌍GraphQL|🔁RESTfulAPI|⚡WebSockets|🔄CI/CD|🌐Git&Versio

calibre和cpolar搭建一个私有的网络书库

Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!文章目录Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!1.网络书库软件下载安装2.网络书库服务器设置3.内网穿透工具设置4.公网使用kindle访问内网私人书库6月底,亚马逊公司旗下Kindle中国电子书店停止运营

使用QLoRA对Llama 2进行微调的详细笔记

使用QLoRA对Llama2进行微调是我们常用的一个方法,但是在微调时会遇到各种各样的问题,所以在本文中,将尝试以详细注释的方式给出一些常见问题的答案。这些问题是特定于代码的,大多数注释都是针对所涉及的开源库以及所使用的方法和类的问题。导入库对于大模型,第一件事是又多了一些不熟悉的Python库。!pipinstall

docker network create命令

dockernetworkcreate命令用于创建一个新的网络连接。DRIVER接受内置网络驱动程序的桥接或覆盖。如果安装了第三方或自己的自定义网络驱动程序,则可以在此处指定DRIVER。如果不指定--driver选项,该命令将为您自动创建一个桥接网络。当安装DockerEngine时,会自动创建桥接网络。该网络对应于

热文推荐