nodejs之express学习(1)

安装

npm i express

使用

// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{res.end("hello express")
})
app.listen(3000,()=>{console.log("服务已启动~")
})

路由的介绍

什么是路由

官方定义:路由确定了应用程序如何响应客户端对特定端点的请求

路由的使用

一个路由的组成有 请求方法 , 路径 和 回调数 组成
express 中提供了一系列方法,可以很方便的使用路由,使用格式如下

app.<method>(path,callback)

在这里插入图片描述

获取请求参数

express框架封装了一些API来方便获取请求报文中的数据,并且兼容原生HTTP模块的获取方式

// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{//原生操作console.log(req.method)   //getconsole.log(req.url)      console.log(req.httpVersion)console.log(req.headers)//express操作console.log(req.path)   // /homeconsole.log(req.query)  // {a:'100',b:'200'}console.log(req.ip)     // 127.0.0.1//获取请求头console.log(req.get('host'))res.end("hello express")
})
app.listen(3000,()=>{console.log("服务已启动~")
})

路由参数获取

const express = require('express')
const app = express()
app.get('/:id.html',(req,res)=>{// get params  of urlconsole.log(req.params.id)res.setHeader('content-type','text/html;charset=utf-8')res.send('details of goods')
})
app.listen(3000,()=>{console.log('server start')
})

练习

const express = require('express')
const {singers} = require('./singer.json')
const app = express()
app.get('/singer/:id.html',(req,res)=>{let {id} = req.paramslet result = singers.find(item=>{if(item.id===Number(id)){return true}})if(!result){res.end('404 Not Found')return}res.end(`<h1>${result.singer_name}</h1><img src = '${result.singer_pic}'/>`)
})app.listen(3000,()=>{console.log('server start')
})

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

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

相关文章

5.27每日一题(判断函数在那个区间上有界:充分条件不是必要条件)

若f(x)在(a , b)上连续&#xff0c;且f(a0)&#xff0c;f&#xff08;b-0&#xff09;存在&#xff08;及函数的左右极限存在&#xff09;>f(x)在(a,b)上有界

神经网络:脑科学中功能MRI成像的应用及其一些相关概念

文章目录 一、MRI成像简介核磁共振成像&#xff08;MRI&#xff09;侵入式成像功能磁共振成像&#xff08;fMRI&#xff09;血氧水平依赖&#xff08;BOLD&#xff09;效应对比基线状态代理指标 二、fMRI具有延迟性及其解决方案原因解决方法 三、fMRI 数据处理1. 数据预处理2. …

【栈和队列(1)(逆波兰表达式)】

文章目录 前言什么是栈(Stack)栈方法栈的模拟实现链表也可以实现栈逆波兰表达式逆波兰表达式在栈中怎么使用 前言 什么是栈(Stack) 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0…

QB/T 1870-2015 塑料菜板检测

塑料菜板是指以聚乙烯、聚丙烯为主要原材料&#xff0c;经注射或压制成型的塑料菜板&#xff0c;通常具有抗菌性能。 QB/T 1870-2015 塑料菜板检测项目&#xff1a; 检测项目 测试标准 邵氏硬度 GB/T 2411 耐热性 QB/T 1870 耐冲击性 QB/T 1870 跌落性能 QB/T 1870 …

详解Tomcat下载安装以及IDEA配置Tomcat(2023最新)

目录 步骤一&#xff1a;首先确认自己是否已经安装JDK步骤二&#xff1a;下载安装Tomcat步骤三&#xff1a;Tomcat配置环境变量步骤四&#xff1a;验证Tomcat配置是否成功步骤五&#xff1a;为IDEA配置Tomcat 步骤一&#xff1a;首先确认自己是否已经安装JDK jdk各版本通用安装…

6、信息收集(1)

文章目录 一、DNS信息查询1、利用dig工具查询各类DNS的解析。2、使用DNS子域名爆破工具&#xff0c;针对子域名进行爆破&#xff0c;同时解析出对应的IP地址。3、利用多地Ping工具&#xff0c;查看域名真实IP。4、针对部分IP进行信息收集 二、DNS域传输实验原理方法一方法二 三…

javaEE -15( 13000字 JavaScript入门 - 2)

一&#xff1a;JavaScript(WebAPI) JS 分成三个大的部分 ECMAScript: 基础语法部分DOM API: 操作页面结构BOM API: 操作浏览器 WebAPI 就包含了 DOM BOM&#xff0c;这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人). 前面学的 JS 基础语法主要学的是 …

Unity-链接MySql5.7

链接MySql5.7 前言&#xff1a; 为什么不选择最新的MySQL8.0或者MySQL8.2呢&#xff0c;实际发现&#xff0c;如果使用这两个版本&#xff0c;虽然能够用同样的方法找到合适的dll&#xff0c;但是在编写代码的过程中往往会卡死&#xff0c;非常的影响效率&#xff0c;因此放弃…

Java入门基础:浅显易懂 关系运算符

运算符是对常量或者变量进行操作的符号&#xff0c;Java的运算符有六类&#xff1a;算术运算符、赋值运算符、自增自减运算符、关系运算符、逻辑运算符&#xff0c;三元运算符 1.关系运算符 符号作用说明等于ab 判断a和b的值是否相等!不等于a!b 判断a和b的值是否不相等>大…

python服装电商系统vue购物商城django-pycharm毕业设计项目推荐

系统面向的使用群体为商家和消费者&#xff0c;商家和消费者所承担的功能各不相同&#xff0c;所对象的权限也各不相同。对于消费者和商家设计的功能如下&#xff1a; 对于消费者设计了五大功能模块&#xff1a; &#xff08;1&#xff09; 商品信息&#xff1a;用户可在商品…

使用Echarts.js绘制多条折线图

一、页面效果 默认tab为不限&#xff0c;渲染多条折线&#xff1a; 切换tab&#xff0c;只渲染对应tab的一条折线&#xff1a; 二、功能描述 ​ 1、tab选中不限时&#xff0c;图表中同时渲染多条折线&#xff0c;对应多种类型的数据。 ​ 2、切换tab时&#xff0c;如果选中指…

Taro3+Vue3重构Mpvue小程序项目踩坑记

1、Taro小程序编译时报错&#xff1b; 原因:页面中存在小程序识别不了的标签&#xff1b;如div解决方法&#xff1a; 将div标签替换成小程序可识别的标签&#xff1b; 安装Taro中提供的插件:tarojs/plugin-html, 使其可被识别&#xff1b; 插件安装教程参考Taro官网&#xff1…

辗转相除法

其实是求a、b&#xff08;a>b&#xff09;最大公约数。 &#xff08;leetcode 1979. 找出数组的最大公约数&#xff09; 方法一&#xff1a;遍历&#xff0c;遍历的思想就是从2开始到b(或者b/2)结束&#xff0c;如果其中某个数都能被两者整除&#xff0c;那该数就是最大公约…

抖音小店怎么运营?新手应该如何做?一篇详解!

我是电商珠珠 我做抖音小店也已经快三年了&#xff0c;期间呢也不断在网上做分享。 有很多小伙伴问我最多的问题就是&#xff0c;抖音小店这么赚钱&#xff0c;那新手小白的话怎么做&#xff0c;做不起来怎么办。 我将做店总共分为了五步&#xff0c;懂事的小伙伴已经开始记…

【工具】Zotero|使用Zotero向Word中插入引用文献(2023年)

版本&#xff1a;Word 2021&#xff0c;Zotero 6.0.30 前言&#xff1a;两年前我找网上插入文献的方式&#xff0c;网上的博客提示让我去官网下个插件然后才能装&#xff0c;非常麻烦&#xff0c;导致我对Zotero都产生了阴影。最近误打误撞发现Zotero自带了Word插件&#xff0c…

KMP算法【数据结构】

KMP算法 KMP算法是一种改进的字符串匹配算法 Next[j] k :一个用来存放子串返回位置的数组&#xff0c;回溯的位置用字母k来表示。其实就是从匹配失败位置&#xff0c;找到他前面的字符串的最大前后相等子串长度。默认第一个k值为-1(Next[0] -1),第二个k值为0(Next[1] 0),我…

SpringBoot使用动态Banner

SpringBoot使用动态Banner Spring Boot 2.0 提供了很多新特性&#xff0c;其中就有动态 Banner。 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://w…

一些关于开关电源经典回答

1、开关电源变压器如果用铜带取代漆包线&#xff0c;其允许通过的电流怎么算?比如说厚度为0.1mm的铜带&#xff0c;允许通过的电流怎么算? 专家&#xff1a;如果开关电源变压器用铜带取代漆包线&#xff0c;铜带(漆包线)的涡流损耗可以大大将小&#xff0c;工作频率可以相应…

【开题报告】基于SpringBoot的天文学知识交流平台的设计与实现

1.选题背景 天文学是一门古老而又充满神秘感的学科&#xff0c;吸引着众多人的关注和热爱。随着科技的发展&#xff0c;我们对宇宙的认知愈加深入&#xff0c;人们对天文学的热情也愈加高涨。然而&#xff0c;目前市场上缺乏一个专门的平台&#xff0c;供天文学爱好者交流、分…

React的父子组件互相通信

在写项目的时候遇到了父子组件互相调用对方的方法&#xff0c;然后知道用什么逻辑写&#xff0c;但是就是没写对过&#xff0c;开始用的props和ref,但是报错就去用的context,context在引用的时候还是报错&#xff0c;所以最后还是用的props和ref,下边是实现的案例。 父组件 Fat…