node-express框架

本文介绍了Express,一个基于Node.js的Web应用框架,详细讲解了如何初始化项目、创建路由、获取请求参数、设置响应以及处理请求体数据,包括GET、POST方法、动态路由、请求头和响应状态等核心概念。
摘要由CSDN通过智能技术生成

一.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路由

  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响应设置

//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('服务启动成功')
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值