简介 目录 评价 推荐
  • HappySimon 1天前

    App级中间件的应用

    • 处理请求体中application/x-www-form-urlencoded格式的数据

    • 处理请求体中application/json格式的数据


    0赞 · 0采集
  • HappySimon 1天前

    App级中间件

    • use中间件

      使用app.use()方法将中间件提供给Express调用

      use()方法的第一个参数默认就是'/',可以省略

      use()方法可以匹配所有的http中的方法(get/post/delete/put……)

      use()方法匹配路径的规则为:从头包含匹配

      可以给同一个路径注册多个中间件函数

      可以在一个use()方法中注册多个中间件函数

    • METHOD和all中间件

      使用app.METHOD()或app.all()方法将中间件直接提供给Express调用

      app.METHOD()具体指:app.get()、app.post()、app.put()、app.delete()等

      METHOD()或all()方法第一个参数都要写出来,不能省略

      METHOD()方法会匹配对应的HTTP方法,all()方法会匹配所有的HTTP方法

      METHOD()或all()方法匹配路径的规则为:路径相等匹配

      可以给同一个路径注册多个中间件函数

      可以在一个METHOD()或all()方法中注册多个中间件函数

      可以通过next('route')跳转下一个路由

      next('route')只会在METHOD()或all()中起作用



    0赞 · 0采集
  • HappySimon 1天前

    认识中间件

    • 中间件的地位

      Express是一个路由和中间件的Web框架

      Express应用本质就是一系列中间件函数的调用

    • 什么是中间件

      函数

      Express调用的函数

      函数调用时会被Express传入3个参数:req、res、next

    • 中间件有什么用

      将一个请求的处理过程,分解到多个中间件中,每个中间件专门干一件事

      使代码逻辑清晰,便于维护

    • 中间件可以做什么

      可以执行任何代码

      更改req和res对象

      结束请求-响应周期

      调用stack栈中的下一个中间件

    • 中间件函数的调用机制

      匹配上的中间件会按顺序执行

      一次执行一个中间件,如果要执行下一个匹配上的中间件,调用next()

      如果当前中间件没有结束请求-响应周期,必须调用next()

    • 中间件的分类

      App级中间件

      Router级中间件

      Express内置中间件

      第三方中间件

      错误处理中间件


    0赞 · 0采集
  • HappySimon 1天前

    路由

    • 什么是路由

      路由指的是:客户端使用特定的HTTP方法(GET、POST、PUT、DELETE等)对特定路径(/、/login等)发送请求,应用程序要如何响应

    • 基础路由

        app.get('/',(req,res)=>{
        res.send('Hi');
        });
        app.post('/user/login',function(req,res){
         res.send('登录成功');
         });
        app.put('/dynamic',(req,res)=>{
         res.send('动态更新成功');
         });
        app.delete('/dynamic',(req,res)=>{
          res.send('动态删除成功');
          })
        app.get('/dynamic',(req,res)=>{
          res.send('动态获取成功');
          });
    • 使用Router管理路由

    const userRouter=express.Router();
    const dynamicRouter=express.Router();
    const commentRouter=express.Router();
    
    userRouter.post('/user/register',(req,res)=>{
         res.send('注册成功 userRouter');
     });
     userRouter.post('/user/login',(req,res)=>{
         res.send('登录成功 userRouter');
     });
     app.use(userRouter);
     
     userRouter.post('/register',(req,res)=>{
         res.send('注册成功 userRouter');
     });
     userRouter.post('/login',(req,res)=>{
         res.send('登录成功 userRouter');
     });
     
    const userRouter=require('./router/user');
    app.use('/user',userRouter);
    0赞 · 0采集
  • HappySimon 1天前

    响应动态页面

    1.安装ejs模板引擎 npm install ejs


    2.在Express中使用ejs模板引擎

     2.1.设置模板所在的目录,默认是views

    app.set('views',path.join(__dirname,'view'));

     2.2.设置默认的模板后缀名,省略不写的时候有用

    app.set('view engine','ejs');
    app.set('view engine','html');

    2.3.设置指定后缀名的文件使用什么模板引擎

    app.engine('html',require('ejs').__express);

    2.4.使用res.render()渲染模板

    res.render('user',{
            id,
            title:'用户 ${id} 的首页',
            html:'<h1>我是HTML字符串</h1>',
            user:[
                {
                    username:'simon',
                    gender:'male'
                },
                {
                    username:'wanisha',
                    gender:'female'
                }
            ]
        });
    0赞 · 0采集
  • HappySimon 2天前

    Response对象

    • Response对象的属性

      console.log(res.app===app,req.res===res);

    • Response对象的方法

      res.redirect('/login')

      res.sendStatus(404);

      res.status(404).send("没有找到该页面");

      res.set('Content-type','text/plain;charset=utf-8');

      res.sendFile(path.join(__dirname,'public','index.html'));

      res.send("Hi Express");

    0赞 · 0采集
  • HappySimon 2天前

    Resquest对象

    • Request对象的属性

      req.url 

      req.path

      req.query

      req.method

      req.headers

    • Request对象的方法

      req.get("user-agent") 

      req.header("User-agent")

    0赞 · 0采集
  • HappySimon 2天前

    Express的基本用法

    • 使用Express搭建Web服务器

         const express=require('express');

         const app=express();

         const port=4000;

         app.listen(port,function(){ console.log('服务器在 ${port} 端口启动成功');})

    • 使用nodemon自动重启服务器

      npm install -g nodemon

      nodemon xx.js 自动重启服务器

      package.json 配置  "start": "nodemon xx.js" npm start

    • 使用postman发送请求

      https://img1.sycdn.imooc.com/d08b72680941b53509770594.jpg

    0赞 · 0采集
  • HappySimon 3天前

    安装Express

    • 直接安装 npm init(package.json)npm install Express

    • 通过Express提供的脚手架安装 npm install -g Express-generator/ Express generator 自动生成项目目录 npm install 安装依赖 npm start 启动服务



    0赞 · 0采集
  • HappySimon 3天前

    初识Express

    什么是Express

    • 基于Node.js的框架,能够帮助我们快速搭建Web服务器

    • 对http模块进行了封装,简化了很多操作

    为什么要使用Express

    • 原生开发Web服务器比较繁琐

    • 使用Express可以省去这些繁琐的操作,只关注核心业务逻辑

    使用Express能做什么

    • 提供静态资源

    • 提供动态资源

    • 提供接口和数据

    • Express就是能够帮助我们搭建服务器

    0赞 · 0采集
  • 慕粉5499837 2025-03-30



    初识 Express小什么是 Express>基于 Node.is的框架,能够帮助我们快速搭建Web 服务器> 对 http 模块进行了封装,简化了很多操件
    0赞 · 0采集
  • 慕粉5499837 2025-03-30

             Express基础

    一、入门课程

    1、要有 Node.js基础

    2、掌握async/await 的用法

    二、课程目标

    使用Express 搭建 Web 服务器

    三、Express 的版本

    1、目前主流版本: 4.x

    2、Express 5中的变化

    0赞 · 0采集
  • 慕粉5499837 2025-03-30

         Express 的基本用法

    1、使用Express 搭建 Web服务器

    2、使用 nodemon 自动重启服务器

    3、使用 Postman 发送请求

    0赞 · 1采集
  • qq_o独特之蕞o_1 2025-02-14

    撒打算

    0赞 · 0采集
  • 马成业 2024-04-15
    错误处理中间件必须有4个(err,req,res,next)
    0赞 · 0采集
  • 马成业 2024-04-15
    render就是渲染模板
    0赞 · 0采集
  • 马成业 2024-04-15
    req代表了请求信息
    0赞 · 0采集
  • im镇辉 2024-01-30

    从Node.js v14.0.0开始,querystring模块已经被移出Node.js核心模块,成为了一个独立的npm包。因此,如果你在使用较新版本的Node.js,你需要通过npm或yarn来安装这个包。

    npm install querystring

    0赞 · 0采集
  • 慕粉1472005139 2024-01-25

    这里很不错

    0赞 · 0采集
数据加载中...
开始学习 免费