目录

一、express框架

二、路由传参

三、路由器(用来管理路由)

四.中间件(插件) 

每日一句

 


一、express框架

        基于Node.js平台快速开放极简的WEB开发框架

        网址www.expressjs.com.cn

         安装npm  install  express

  1. 创建WEB服务器
    1. const express=require('express')  //引入express模块
      const app=express()  //创建WEB服务器
      app.listen(3000)  //设置端口
  2. 路由
    1.  路由用于监听特定的请求
      1. 包含请求网址
      2. 请求的方法
      3. 回调函数
    2. 请求的对象 req
      1. req.url          获取请求的网址
      2.  req.method          获取请求的方式
      3. req.query           获取get传递参数
    3. 响应对象res
      1. res.send()           设置响应内容发送
      2. res.redirect()           设置响应重定向
      3. res.sendFile()         设置响应文件发送(文件必须使用绝对路径  __dirname)
  3. 路由传递参数
路由传递参数
传参方式 格式 路由中获取
get传递 http://127.0.0.1:3000/mysearch?kw=小米&a=1 req.query
{kw:’小米‘, a:1}
post传递 参数在网址不可
http://127.0.0.1:3000/mylogin2
需要使用插件
req.body
{user:’tao‘, pwd:’123456′}
使用插件post传参转为对象
app.use( express.urlencoded({  extended:true  //是否使用扩展第三方模块}) )

二、路由传参

  1. 通过网址传递,看不到参数名,需要在路由中设置参数名
  2. //http://127.0.0.1:3000/search/手机/1
    app.get('/search/:kw/:a', (req,res)=>{
        req.params  //获取params传递的参数
    })

三、路由器用来管理路由)

  1. 路由器模块
    1. 引入express模块
    2. 创建路由器对象
          const  r=express.Router()
    3. 添加路由
    4. 暴露路由器对象
          module.exports = r
  2. WEB服务器模块
    1. 引入路由器模块
    2. 挂载路由器,路由器下所有路由就会成为服务器部分
    3. app.use(‘添加的前缀‘, 引入的路由器)
    4. // 引入自定义用户路由
      const routerUser = require("./routers/user");
      // 使用路由
      app.use("/user", routerUser);

四.中间件(插件

用于拦截对WEB服务器的请求;

        中间件分为应用中间件、路由级中间件内置中间件第三方中间件错误处理中间件

  1. 应用中间件
    1. 称为自定义中间件,就是一个函数,一旦拦截自动调用这个函数
    2. function fn(req,res,next){
        next()  往后执行可能是下一个中间件,或者路由
      }
      
      app.use(要拦截网址, fn)
  2. 路由级中间件
    1. 就是路由器的使用
    2. 拦截到网址以后,要到指定的路由器下寻找路由
    3. app.use( 要拦截的网址, 路由器 )
  3. 内置中间件
    1.  express提供的中间件,可以直接使用
    2. post传参转为对象
      1. app.use( express.urlencoded({
               extended: true
        }) )
    3.  托管静态资源
      1.  静态资源包含htmlcssjs图片视频声音
      2. 托管静态资源浏览器要请求静态资源,不需要通过路由响应文件,而是自动的到指定的目录查找
      3. app.use( express.static('托管的目录') )
  4. 第三方中间件
    1. 都是以第三方模块的形式出现需要先去下载安装
    2. 网址: http://www.codece.com/archives/173
    3.  multer中间件(文件上传)
  5. 错误处理中间件
    1. // 错误处理中间件
      app.use((req,res,next,err)=>{
      	console.log(err)
      	res.send({
      		code:500,
      		msg:'服务器错误'
      	})
      })
    2. app.use((err,req,res,next)=>{
          return next(err)
      })

每日一句

不积跬步,无以至千里,不积小流,无以成江海。

        “不把半步、一步积累起来,就不能走到千里远的地方,不把细流汇聚起来,就不能形成江河大海。 “

原文地址:https://blog.csdn.net/a2499797637/article/details/127069435

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39806.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注