Node中express路由基本使用

news2024/10/6 23:40:00

1.路由的基本使用

//引入express
const express=require("express")
//创建路由
const app=express()
//规定路由的请求方法
app.get('/',(req,res)=>{
    res.end("hello express")
})
//启动路由,并且端口为9000
app.listen(9000,()=>{
    console.log(`9000端口启动成功`);
})

2.获取请求报文参数

//设置请求方法
app.get("/good",(req,res)=>{
    //原生操作
    console.log(req.method);  //GET
    console.log(req.url); // /good
    console.log(req.httpVersion); //1.1
    console.log(req.headers);
   //express操作
    console.log(req.path);  //   /good
    console.log(req.query); //{}
   //获取ip
   console.log(req.ip); //::ffff:127.0.0.1

   //请求头
   console.log(req.get("host"));  //127.0.0.1:9000
    res.end("hello")
})

3.获取路由参数

说明:采用:id形式

app.get("/:id.html",(req,res)=>{
    //怎么获取URL路由参数
    // params存储所有的路由参数,id属性代表其中的一个
    console.log(req.params.id);
    res.setHeader('content-type','text/html;charset=utf-8')
    res.end("详情")
})

4.路由参数练习

说明:根据输入id不同,展示不同的名字

4.1js文件

//导入json数据
const {mathNumber}= require("./index.json")

const express=require("express")

const app=express()

app.get('/number/:id.html',(req,res)=>{
  //获取路由参数
  let {id}=req.params
  //find寻找对应的id
  let result=mathNumber.find(item=>item.id===Number(id))
  res.setHeader('content-type','text/html;charset=utf-8')
  res.end(`我是${result.name}`)


})
app.listen(9000,()=>{
    console.log(`9000端口启动成功`);
})

4.2json文件

{
    "mathNumber":[
        {
            "id":1,
            "name":"张三"
        },
        {
            "id":2,
            "name":"李四"
        },
        {
            "id":3,
            "name":"王二"
        },
        {
            "id":4,
            "name":"麻子"
        },
        {
            "id":5,
            "name":"天罡星"
        }
    ]
}

4.3界面操作

 

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

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

相关文章

ruoyi-vue版本(三十)事务介绍和使用

目录 1 事务管理2 常见坑点13 常见坑点24 Transactional注解的常用属性表: 1 事务管理 新建的Spring Boot项目中,一般都会引用spring-boot-starter或者spring-boot-starter-web,而这两个起步依赖中都已经包含了对于spring-boot-starter-jdbc…

和鲸社区数据分析每周挑战【第九十六期:汽车公司客户细分预测】

和鲸社区数据分析每周挑战【第九十六期:汽车公司客户细分预测】 文章目录 和鲸社区数据分析每周挑战【第九十六期:汽车公司客户细分预测】一、前言1、背景描述2、什么是用户分群?3、数据说明4、数据集预览 二、数据读取和数据初步观察三、潜在…

【动态规划算法】第六题:63.不同路径II

💖作者:小树苗渴望变成参天大树 🎉作者宣言:认真写好每一篇博客 🎊作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作…

2、DuiLib的入门程序以及资源压缩打包

标题 1、DuiLib入门程序11.1、DuiLib程序版本11.2、DuiLib程序版本21.3、DuiLib程序版本3,增加编写界面xml1.4、DuiLib程序版本4,继续修改xml布局1.5、DuiLib程序版本5,继续修改xml布局5.6、DuiLib程序版本5,继续修改xml布局 2、D…

Stable Diffusion 使用 SadTalker 生成图片数字人

Heygen和D-ID等照片转视频的工具,都需要在线付费使用。本次介绍一个SadTalker数字人。SadTalker有多种使用方式,包括完整安装程序和stable diffusion插件模式。安装程序操作较繁琐,因此推荐stable diffusion插件模式。 文章目录 SadTalker安…

【龙芯2K500先锋板】点亮RGB多彩发光板

文章目录 一、硬件准备1.1 DFRobot RGB多彩发光板1.2 龙芯2K0500开发板 二、背景知识三、实现点灯3.1 手动点亮3.2 手动熄灭3.3 实现PwmController3.4 实现呼吸灯效果 四、效果演示五、完整代码六、参考链接 前段时间乔帮主送了几个DFRobot的RGB多彩发光板,官方的演…

实现一个简单的录制软件:支持录制桌面与窗口

环境搭建 CSDN 将data文件与obs-plugins文件夹复制到bin/win32文件下 VS2019安装Qt插件(附安装失败解决方案)_振华OPPO的博客-CSDN博客 插件; 链接:https://pan.baidu.com/s/1fdNDJwrwrJ1SA0Q9AiM7qA?pwdiz4f 提取码:iz4f vs…

uniapp 微信小程序导航功能(从地址列表内点击某一个地址)

效果图&#xff1a; <template><view class"user"><view class"list"><view class"title">地址列表</view><view class"title-label"><view>名称</view><view>距离&#xff…

开启Windows共享文件夹审核,让用户查看谁删除了文件

在动画行业有个常用到的需求&#xff0c; 我的共享文件夹内的文件被谁删除了&#xff0c;查不到&#xff0c;只能查看谁创建&#xff0c;谁修改的&#xff0c;但查不到谁删除的&#xff0c;分享一下&#xff1a; 1 开始->运行->gpedit.msc 开发本地组策略编辑器, 在计算…

el-select 下拉选择框添加字段单位显示 el-select下拉按钮前加单位显示

背景&#xff1a;el-select可以通过自定义模版在下拉选项内加单位但是选择后没法显示单位 实现效果 实现代码 html <el-selectv-model"form.day"class"select-prefix"><el-option label"1" :value"1" /><el-option la…

Spark SQL 6-7

6. Spark SQL实战 6.1 数据说明 数据集是货品交易数据集。 每个订单可能包含多个货品&#xff0c;每个订单可以产生多次交易&#xff0c;不同的货品有不同的单价。 6.2 加载数据 tbStock&#xff1a; scala> case class tbStock(ordernumber:String,locationid:String,…

基于Java+vue前后端分离餐厅点菜管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Ext JS 如何设置工具栏按钮和一般按钮保持统一样式

在Ext JS 中, Button的背景色保持和系统的主色调一致, 样式如下: 但是使用工具栏(toolbar) 添加按钮的时候, 按钮的背景色确实灰色,如下图所示: 为什么会有这个差别呢? 如何让它们保持一致呢? 工具栏按钮与Button不一致的原因 看一下Toolbar里面的按钮最终产生…

C++中,C::C::C::C::foo() 为什么编译成功?

有人问&#xff1a; class Entity { public:static void foo() {} };int main() {Entity::Entity::Entity::Entity::Entity::foo(); } 为什么 最后那行&#xff1a; Entity::Entity::Entity::Entity::Entity::foo(); 能编译成功&#xff1f;这是什么规则&#xff1f; 嗯……

如何优雅的跳出 for 循环

文章目录 需求分析1. 普通for循环2. for..in循环3. for..of循环(ES6)4. forEach(callbackFn, ?thisArg)方法(ES5.1) 源码1. 终止 普通 for 循环2. 终止 forEach2.1 forEach 可以跳出本次循环&#xff0c;执行下一次循环2.2 forEach终止循环 需求 如何做到优雅的跳出 for 循环 …

像考研一样学个宇宙之刷题篇:剑指offerⅡ:整数系列——整数除法0706 TODO

001. 整数除法&#xff1a; 给定两个整数 a 和 b &#xff0c;求它们的除法的商 a/b &#xff0c;要求不得使用乘号 ‘*’、除号 ‘/’ 以及求余符号 ‘%’ 。 一些知识点和思路 第一题&#xff0c;easy题&#xff0c;狠狠来了个下马威。 首先是 “被除数/除数”关于溢出的情…

| 交互式建模与学习:重建人类运动功能

在报告《交互式建模与学习&#xff1a;重建人类运动功能》中&#xff0c;清华大学副教授眭亚楠介绍了AI在重建人类运动功能时&#xff0c;从无模型学习&#xff08;model-free learning&#xff09;到基于模型学习&#xff08;model-based learning&#xff09;的转变&#xff…

剑指 Offer II . 删除链表的倒数第 n 个结点

给定一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[] 示例 3&#x…

【MySQL入门实战5】-Linux PRM 包安装MySQL

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&#x1f61…

【QT】QCustomPlot开发笔记

QCustomPlot开发 01、QCustomPlot简介1.1 帮助文档1.2 下载&使用 02、QCustomPlot项目使用笔记2.1 创建QCustomPlot 03、源代码 01、QCustomPlot简介 QCustomPlot 是一个用于科学绘图的 QT 第三方库&#xff0c;可以用于常见的二维图像绘制&#xff0c;比如函数曲线、参数…