• Node.js 零基础入门 Node.js 零基础入门第三天 3.1 初识Express


    Node.js 零基础入门

    Node.js 零基础入门第三天

    老师:黑马程序员

    3 Express

    3.1 初识Express
    3.1.1 Express简介

    【什么是Express】

    Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。

    通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。

    Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。

    中文官网:

    https://www.expressjs.com.cn/

    在这里插入图片描述

    【进一步理解】

    有了 http 内置模块,为什么还要用Express?

    → http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。

    http 内置模块与 Express 是什么关系?

    类似于浏览器中 Web API 和 jQuery 的关系。后者是基于前者进一步封装出来的。

    【Express能做什么】

    对于前端程序员来说,最常见的两种服务器,分别是:

    Web 网站服务器:专门对外提供 Web 网页资源的服务器。

    API 接口服务器:专门对外提供 API 接口的服务器。

    使用 Express,可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器。

    3.1.2 Express的基本使用

    【安装】

    创建新项目

    在这里插入图片描述

    在这里插入图片描述

    webstorm可以直接创建Express项目。

    【创建基本的Web服务器】

    //导入Express
    const express = require('express')
    
    //创建Web服务器
    const app = express()
    
    //调用app方法,启动服务器
    app.listen(80,() =>{
        console.log("Express服务启动了........")
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    【监听GET请求】

    //监听GET请求
    app.get('请求URL', function (req, res) {
        /*处理函数*/
    })
    
    • 1
    • 2
    • 3
    • 4

    【监听POST请求】

    //监听POST请求
    app.post("请求URL",function (req , res) {
        /*处理函数*/
    })
    
    • 1
    • 2
    • 3
    • 4

    【将内容响应给客户端】

    //通过res.send()方法,把处理好的内容,发送给客户端
    app.get('/user',(req, res) =>{
        //向客户端发送JSON对象
        res.send({name:'dingjiaxiong',age:22,gender:'男'})
    })
    
    //post
    app.post('/user',(req, res)=>{
        res.send("请求成功")
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    在这里插入图片描述

    【获取URL中携带的查询参数】

    通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:

    app.get('/',(req, res)=>{
        console.log(req.query)
    })
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    【获取URL中的动态参数】

    通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数:

    app.get('/user/:id',(req, res)=>{
        console.log(req.params)
    })
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    3.1.3 托管静态资源

    xpress 提供了一个非常好用的函数,叫做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,
    例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:

    app.use( express.static('public'))
    
    • 1

    在这里插入图片描述

    【托管多个静态资源目录】

    如果要托管多个静态资源目录,可以多次调用 express.static() 函数:

    app.use( express.static('public'))
    app.use( express.static('file'))
    
    • 1
    • 2

    访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。

    【挂载路径前缀】

    如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式:

    app.use('/public',express.static('public'))
    
    • 1

    现在,就可以通过带有 /public 前缀地址来访问 public 目录中的文件了:

    在这里插入图片描述

    3.1.4 nodemon

    【为什么要用nodemon】

    在编写调试 Node.js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。

    可以使用 nodemon(https://www.npmjs.com/package/nodemon) 这个工具,它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。

    【安装nodemon】

    在这里插入图片描述

    【使用nodemon】

    在这里插入图片描述

    js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。

    可以使用 nodemon(https://www.npmjs.com/package/nodemon) 这个工具,它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。

    【安装nodemon】

    [外链图片转存中…(img-SD3I8XIw-1662596897943)]

    【使用nodemon】

    在这里插入图片描述

  • 相关阅读:
    python一键去PDF水印,只需十行代码,超级简单...
    医疗实施-MDM主数据管理基本介绍
    Python学习基础笔记二十七——内置函数
    【广州华锐互动】蔬菜生鲜运输3D虚拟仿真实验系统
    CV5200无线WiFi通信模组,远距离无线传输方案,助力无线视频传输通信
    java版Spring Cloud之Spark 离线开发框架设计与实现
    Gradio 最快创建Web 界面部署到服务器并演示机器学习模型,本文提供教学案例以及部署方法,避免使用繁琐的django
    三大赛题指南发布!2023 冬季波卡黑客松本周末开启 Workshop
    AI赋能的3D资产管理
    自动化测试-友好的第三方库
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126757328