8、Node.js Express框架
五、Express框架
5.1概念
Express框架是一个基于Node.js平台的极简、灵活的WEB开发框架:www.express.com.cn
简单来说,Express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用
5.2安装
npm i express
5.3 Express初体验
//01-express初体验.js
//1.导入exrpess
const express=require("express")//2.创建应用对象
const app=express()//3.创建路由
app.get("/home",(req,res)=>{res.end("Hello Express!")
})//4.监听端口
app.listen(9000,()=>{console.log('服务已启动,监听端口:9000')
})
启动服务
nodemon 01-初体验.js
通过过浏览器访问,就可以收到响应了

5.4路由的使用
格式:
app.<method>(path,callback)
示例:
//1.导入exrpess
const express=require("express")//2.创建应用对象
const app=express()//3.创建路由
app.get("/",(req,res)=>{//请求方式为"get",且路径是"/"res.end("home")
})
app.post('/login',(req,res)=>{//请求方式为"post",且路径是"/login"res.end('login')
})
app.get("/view",(req,res)=>{//请求方式为"get",且路径是"/view"res.end("view")
})
app.all("/text",(req,res)=>{//请求方不限,且路径是"/text"res.end('/text')
})
app.all("*",(req,res)=>{//请求方式不限,路径不限(以上路由都匹配时,执行这个路由)res.end('404 Not Found')
})//4.监听端口
app.listen(9000,()=>{console.log('服务已启动,监听端口:9000')
})
5.5获取请求报文参数
//1.导入exrpess
const express=require("express")//2.创建应用对象
const app=express()//3.创建路由
app.get("/home",(req,res)=>{//原生操作console.log('req.method:',req.method)console.log('req.url:',req.url)console.log('req.httpVersion:',req.httpVersion)console.log('req.headers',req.headers)//express操作console.log('req.path',req.path)console.log('req.query',req.query)console.log('req.ip',req.ip)console.log("req.get('host')",req.get('host'))res.end("home")
})//4.监听端口
app.listen(9000,()=>{console.log('服务已启动,监听端口:9000')
})
输出:
req.method: GET
req.url: /home?arg1=1&arg2=2
req.httpVersion: 1.1
req.headers {host: 'localhost:9000',connection: 'keep-alive','cache-control': 'max-age=0','sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"','upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7','sec-fetch-site': 'none','sec-fetch-mode': 'navigate',相关文章:
8、Node.js Express框架
五、Express框架 5.1概念 Express框架是一个基于Node.js平台的极简、灵活的WEB开发框架:www.express.com.cn 简单来说,Express是一个封装好的工具包,封装了很多功能,便于我们开发WEB应用 5.2安装 npm i express5.3 Express初体验 //01-express初体验.js //1.导入exrp…...
STM32F103C8T6学习笔记3--按键控制LED灯
1、实验内容 S4、S5分别接PB12和PB13,实验要求,按下S4,D1亮,D2灭;按下S5,D2亮,D1灭。 由于按键学习的是GPIO口的输入功能,和输出功能的配置略有区别。本次通过按键触发相应功能没有…...
Unity3D Shader实现法线贴图功能详解
在Unity3D中,Shader是一种强大的工具,可以帮助开发人员实现各种复杂的视觉效果,其中法线贴图功能就是其中之一。法线贴图是一种纹理映射技术,通过在模型表面上放置法线贴图纹理来模拟真实世界中的细节和凹凸,使模型看起…...
【含开题报告+文档+源码】基于SpringBoot+Vue的校园设备报修系统
开题报告 随着高校规模的不断扩大和设施设备的日益完善,传统的校园设备报修方式已经无法满足日益增长的维修需求。这种方式往往存在信息不准确、报修流程冗长、反馈不及时等问题,给高校维修工作带来了很大的困扰。为了提高设备故障处理的效率和准确性&a…...
电赛入门之软件stm32keil+cubemx
hal库可以帮我们一键生成许多基本配置,就不需要自己写了,用多了hal库就会发现原来用基本库的时候都过的什么苦日子(笑 下面我们以f103c8t6,也就是经典的最小核心板来演示 一、配置工程 首先来新建一个工程 这里我们配置rcc和sys&…...
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
1、简要说明与电路图 LED灯与蜂鸣器都是GPIO的输出操作,给高低电平实现。GPIO操作也是后续操作的基础,没有什么难度,记不住寄存器没关系,只要把流程理清楚就可以了。 端口配置成推挽输出模式,高低电平均有驱动能力。 …...
Docker命令备忘录----Linux运维
1. Docker简介 Docker 是一个开源平台,旨在帮助开发人员和运维人员通过容器技术加速应用的开发、测试和部署。它提供了轻量级的隔离环境,使应用程序及其依赖能够快速打包并运行在任何环境中。 Docker的核心组件包括镜像(Image)、…...
Golang new() make var []int 使用的具体区别
一、数组和切片的初始化 1 var []int 格式 func main() {var t1 []intt1 append(t1, 1)fmt.Println(t1) //正常输出 1var t11 []intt11[0] 11 //panic: runtime error: index out of range [0] with length 0fmt.Println(t11)var t12 [1]intt12[0] 12fmt.Println(t12) /…...
【Linux驱动开发】多线程调用驱动时的并发与竞争(原子操作、自旋锁、信号量、互斥锁)
【Linux驱动开发】多线程调用驱动时的并发与竞争(原子操作、自旋锁、信号量、互斥锁) 文章目录 多线程调用驱动原子操作原子变量操作原子位操作调用方法 自旋锁读写锁顺序锁调用方法 信号量互斥锁(互斥体)中断中使用附录…...
qt QComboBox详解
QComboBox是一个下拉选择框控件,用于从多个选项中选择一个。通过掌握QComboBox 的用法,你将能够在 Qt 项目中轻松添加和管理组合框组件,实现复杂的数据选择和交互功能。 重要方法 addItem(const QString &text):将一个项目添…...
redis做缓存,mysql的数据怎么与redis进行同步(双写一致性)
基于业务做选择,强一致性和允许延迟再加消息队列 强一致性:当修改了数据库的数据同时更新缓存的数据,缓存和数据库的数据保持一致 读操作:缓存命中,直接返回数据,缓存没有命中,查询数据库,写入缓存,设定过期时间 写操作:延迟双删 :先删除缓存,修改数据库,等待延迟(数据库主从节…...
WPF触发器
WPF触发器 触发器(Trigger)通常指的是一种事件驱动机制,用于响应特定的事件或条件。WPF触发器是WPF中一种强大的功能,允许开发者在样式和模板中定义条件逻辑,以响应属性值的变化。WPF提供了多种触发器来实现样式和模板…...
反序列化漏洞的运行原理及防御方法
反序列化漏洞是当前网络安全领域中的一种严重安全威胁,其运行原理和防御方法对于保障应用程序和系统安全至关重要。本文将深入探讨反序列化漏洞的运行原理,并提出有效的防御策略。 ### 反序列化漏洞的运行原理 序列化是指将对象的状态信息转换为可以存储…...
护眼大路灯哪个牌子好?口碑最好的护眼灯品牌
护眼大路灯哪个牌子好?作为一名专业的测评师,我发现有大量的家长都反应自己家孩子在学习时经常出现,揉眼睛、频繁眨眼、眼睛痒等问题,而这些问题多半是与不良光线有光,这些现象使我更加关注护眼大路灯的选择࿰…...
Redis 初学者指南
Redis 初学者指南 1. 什么是 Redis?2. Redis 的基本概念3. 安装 Redis3.1 使用 Docker 安装3.2 从源码编译安装 4. 基本操作4.1 启动 Redis 服务4.2 连接 Redis 客户端4.3 常用命令 5. Redis 的数据结构5.1 字符串5.2 列表5.3 集合5.4 散列5.5 有序集合 6. 高级特性…...
node.js_npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1
这个错误信息表明 PowerShell 因为执行策略的限制而阻止了 npm.ps1 脚本的运行。PowerShell 的执行策略是一种安全功能,用于限制哪些脚本可以运行,以防止恶意脚本的执行。 要解决这个问题,你可以按照以下步骤操作: 查看当前的执行…...
技术星河中的璀璨灯塔 —— 青云交的非凡成长之路
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
使用 Git 命令将本地项目上传到 GitLab
步骤详解 1. 在 GitLab 上创建一个新项目 登录你的 GitLab 账号。点击“New project”创建一个新的空项目。为项目设置名称、描述等信息。 2. 关联远程 Git 仓库 1.初始化本地 Git 仓库 git init 2.关联远程仓库: git remote add origin https://gitlab-lizz…...
JavaScript的第十三天
目录 一、使用jQuery操作属性值 操作案例: 表格的全选和反选 二、设置宽高 1、宽高属性 2、使用方式 三、offset() 和position()的区别 1、.offset():获取到document的距离,也就是窗口边…...
el-table 滚动条重置 手动控制滚动条
最近在使用 el-table 的时候,出现一个问题: 表头过长的时候,会有左右滑动的操作,当我们把表格拉到最右侧,这个时候重新请求数据的话,表格位置还是在最右侧,不会恢复原位。 那我们想恢复原位&a…...
Deskreen:如何将任何浏览器设备变成你的第二屏幕?
Deskreen:如何将任何浏览器设备变成你的第二屏幕? 【免费下载链接】deskreen Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work! 项目地址: https://gitcode.com/gh_mirrors/…...
《怕你忍不住》的传播入口:情绪临界点如何被记住
从内容传播角度看,《怕你忍不住》的入口不是猎奇,而是一个非常具体的情绪临界点:话快说出口、眼泪快掉下来、冲动快把人推着走。标题先完成识别,读者会知道这不是泛泛的伤感歌。这首歌适合连接很多高频场景。深夜准备发出一条消息…...
Real-ESRGAN终极指南:5分钟掌握AI图像超分辨率技术,让模糊照片秒变高清
Real-ESRGAN终极指南:5分钟掌握AI图像超分辨率技术,让模糊照片秒变高清 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real…...
【ChatGPT】基于李群、李代数与螺旋理论的 Tricept 并联加工机器人控制系统软硬件架构深度拆解、信息图10张、爆炸图10张、C++代码框架
希望还能够有机会去研究他们(前提是能够遇到好领导)深度拆解...
早上好呀
早上好...
欧姆龙G9SP安全控制系统中,如何通过NB触摸屏实现远程复位与状态监控?
欧姆龙G9SP安全控制系统与NB触摸屏的深度集成:远程复位与状态监控实战指南 在工业自动化领域,安全控制系统的可靠性与操作便捷性同样重要。欧姆龙G9SP作为专业的安全控制器,与NB系列触摸屏的协同工作,能够为生产线提供既安全又高…...
中药实验管理系统|基于springboot+vue的中药实验管理系统(源码+数据库+文档)
中药实验管理系统 目录 基于springbootvue的中药实验管理系统 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,…...
告别C盘爆满!VSCode插件和用户数据迁移到D盘的保姆级教程(附注册表修改)
告别C盘爆满!VSCode插件和用户数据迁移到D盘的保姆级教程 每次打开VSCode都看到C盘空间告急的红色警告?作为开发者,我们往往会在不知不觉中安装几十个甚至上百个插件,这些插件和用户数据默认都存储在C盘,日积月累就会…...
华为设备上MQC实战:用流策略搞定网络流量路径规划(含ACL+OSPF联动)
华为设备MQC高级应用:动态路由环境下的智能流量路径规划 在复杂的企业网络环境中,流量路径规划往往成为网络工程师面临的核心挑战之一。当网络中存在多条等价路径时,传统的路由协议(如OSPF)会基于简单的哈希算法进行负…...
从AVX512到Tensor Core:聊聊那些‘纸上算力’和‘实际跑分’为啥总对不上
从AVX512到Tensor Core:揭秘理论算力与实际性能的鸿沟 当你在产品手册上看到某款CPU标称2.4T FLOPS的峰值算力,或是GPU宣称能提供数十TFLOPs的AI加速性能时,是否曾兴奋地购入设备,却在运行实际工作负载时大失所望?这种…...
