node-express框架

news/2024/7/5 19:21:05 标签: express, 前端, node.js

文章目录

    • 一.express
    • 二.初体验
    • 三.express路由
    • 四.获取请求报文参数
    • 五. express响应设置
    • 六.获取请求体数据

express_1">一.express

express是基于node.js平台的极简、灵活的WEB应用开发框架, 点击跳转官方网址

二.初体验

  1. 初始化项目

    npm init

  2. 命名: express-learn

  3. 安装express: npm i express

  4. 创建js文件

    //1.导入express模块
    const express = require('express')
    
    //2.创建应用对象
    const app = express()
    
    //3.创建路由
    app.get('/home',(req,res) => {
      res.end('hello express')
    })
    
    //4.监听路由,开启服务
    app.listen(3000, ()=>{
      console.log('服务已启动,地址为http://127.0.0.1:3000')
    })
    

express_35">三.express路由

  1. 路由的组成有请求方法, 路径回调函数组成

    app.METHOD(PATH, CALLBACK)
    
    //1.导入express模块
    const express = require('express')
    
    //2.创建应用对象
    const app = express()
    
    //3.创建路由
    app.get('/home',(req,res) => {
      res.end('hello express')
    })
    app.post('/login',(req,res)=>{
        res.send('登录')
    })
    //匹配所有的请求方法
    app.all('/search',(req,res)=>{
        res.send('搜索')
    })
    //自定义404路由
    app.all('*',(req,res)=>{
        res.send('404')
    })
    
    
    //4.监听路由,开启服务
    app.listen(3000, ()=>{
      console.log('服务已启动,地址为http://127.0.0.1:3000')
    })
    

四.获取请求报文参数

  1. express框架兼容原生HTTP模块的获取方式
//1.导入express模块
const express = require('express')
//2.创建应用对象

const app = express()

//3.创建路由
app.get('/home',(req,res)=>{
  //原生操作
  console.log(req.method)
  console.log(req.url)
  console.log(req.httpVersion)
  // console.log(req.headers)

  //express操作
  console.log(req.path)//获取路径
  console.log(req.query)//查询字符串参数
  console.log(req.ip)
  console.log(req.get('host'))//获取指定请求头
  // console.log(req.)
  res.send('hello')
})

//4.监听路由启动服务
app.listen(3000,()=>{
  console.log('服务启动成功')
})
  1. 获取路由参数

获取http:127.0.0.1/123.html中123参数

//1.导入express模块
const express = require('express')

//2.创建应用对象
const app = express()

//3.创建路由
app.get('/:id.html',(req,res)=>{
  console.log(req.params) //{ id: '123' }
  res.send('hello')
})

//4.监听端口启动服务
app.listen(3000,()=>{
  console.log('服务启动成功')
})

express_132">五. express响应设置

//1.导入express模块
const express = require('express')

//2.定义应用对象
const app = express()

//3.定义路由
app.get('/home',(req,res)=>{
  //1.原http的方法
   res.statusCode = 201
   res.statusMessage = 'success'
   res.setHeader('a','b')
   res.write('123456')

  //2.express的响应方法
  res.status(202);//设置响应状态吗
  res.set('xxx','yyy') //设置响应头
  res.send('中文响应不乱吗'); //设置响应体

  //3.连贯操作
  res.status(203).set('a','b').send('你好')
    
   //4.其他响应  
  res.redirect('http://www.baidu.com') //重定向
  res.download(__dirname + '/package.json')//下载文件 不能有res.end()
  res.json() //响应JSON  不能有res.end()
  res.sendFile(__dirname + '/1.html') //打开文件  不能有res.end()

   res.end('hello')
})

//4.监听路由,启动服务
app.listen(3000,()=>{
  console.log('服务启动成功')
})

六.获取请求体数据

  1. 创建中间件
    app.use(express.json())
    app.use(express.urlencoded({ extended: false }))

  2. 使用中间件

    console.log(req.body)

//1.导入express模块
const express = require('express')

//2.创建应用对象
const app = express()

//创建中间件
app.use(express.json())
app.use(express.urlencoded({ extended: false }))

//3.创建路由
app.post('/login', (req, res) => {
  console.log(req.body)
  res.send('你好呀')
})

//4.启动服务
app.listen(3000, () => {
  console.log('服务启动成功')
})

http://www.niftyadmin.cn/n/185224.html

相关文章

锁策略相关知识

hi,大家好,今天为大家带来的知识非常重要也很多,我们一起加油呀,先来看看目录 目录 一:锁策略 1.乐观锁vs悲观锁 2.轻量级锁vs重量级锁 3.自旋锁vs挂起等待锁 4.互斥锁vs读写锁 5.可重入锁和不可重入锁 6.公平锁vs非公平锁 7.总结.synchronized的特点 二:CAS 1.什么是CAS 2.CAS…

visual studio 2019 调试驱动

搭建驱动开发环境 搭建环境需要两台机器,本地机器用来代码开发,一台虚拟机用来测试和安装驱动 ,搭建驱动开发环境参考。visual studio 添加调试机器 驱动工程的属性 -> Driver Installer -> Deployment, 点击…按钮添加目标机器用来安…

大数据Flink进阶(十二):Flink本地模式开启WebUI

文章目录 Flink本地模式开启WebUI 一、在Flink 项目中添加本地模式 WebUI的依赖

Mac电脑优化软件清理软件CleanMyMac X最新版本号V4.12.5功能介绍

近些年伴随着苹果生态的蓬勃发展,越来越多的用户开始尝试接触Mac电脑。然而很多人上手MacBook后会发现,它的使用逻辑与Windows存在很多不同,而且随着使用时间的增加,一些奇奇怪怪的文件也会占据有限的磁盘空间,进而影响…

winform的helloworld

1、下载安装VC 2008运行库 微软官网、32位直链 - 微软官网 32位直链 - 360软件 注意:SharpDevelop需要32位的VC 2008运行库,64位的无效 2、下载安装SharpDevelop_5.1.0.5216_Setup.msi SharpDevelop - sourceforge下载渠道 SharpDevelop - Github发行…

中间件在系统集成中的应用和价值

中间件是一种能够帮助不同系统之间相互通信和协作的软件层。 在系统集成领域,中间件被广泛应用于不同系统的集成和协作中,为系统集成商提供了极大的便利和支持。中间件可以提供标准的接口和协议,简化系统集成的过程,提高了集成的…

es6面向对象

name和age为属性,sayHello 为方法 1.使用new来生成一个类 person里面放的是这个对象的引用! 2.继承 用关键字extends来继承,继承所有可被继承的属性和方法。 如果有继承就一定会有super,代表父类构造函数,相当于把父…

Android Studio||TextView点击改变背景颜色/点击出现图像imageView/延时恢复(内含源代码)

step by step. 目录 参考: 1. xml中原本颜色设置 xml: xml: 2.颜色修改 java: java: 3. 整个代码: xml: java: 4.延时恢复(Handler) 参考: Text…