首秀 Express 框架

简介: 首秀 Express 框架

文章目录


框架特性

  1. 提供了方便简洁的路由定义方式
  2. 获取HTTP请求参数进行了简化处理
  3. 对模板引擎支持程度高,方便渲染动态HTML
  4. 提供了中间件机制有效控制HTTP请求
  5. 拥有大量第三方中间件对功能进行扩展


express的使用

初始化项目:

npm init -y

下载框架模块:

npm i express

测试代码:

const express = require('express')
const app = express()
app.get('/', (req, res) => {
    // res.send('你好,Express!')//输出文本
    res.send({name:'zss'})//输出json格式对象
})
app.listen(3000, () => {
    console.log('Server is running at http://127.0.0.1:3000')
})

总结以上代码:

  • 引入express框架模块
  • send 方法相较于 nodejs 原生的 end 方法更加强大 不同设置相应有的 content-tye
  • 此方法会自动根据返回的数据设置相应的响应头

请求处理的中间件

  • 中间件就是以对方法,可以接受客户端发来的请求,可以对请求作出响应,
  • 也可以将请求继续交给下一 个中间件继续处理
  • 登录就可以使用中间件进行拦截处理

概念:

  • 中间件主要由两部分组成:中间件方法以及请求处理函数
  • 中间件方法由express提供,负责拦截请求,请求处理函数由开发人员提供,负责处理请求
  • 其实路由就是中间件
app.get('/', (req, res) => {
    res.send('<h1>hello,express</h1>') // 输出html文本
     })
    //匹配以get方式请求的/路由

中间件——app.use

这里以 app.use 中间件为例,讲解中间件的用法

  1. app.use 匹配所有请求方式和请求路径,可以直接传入请求处理函数
  2. app.use 第一个参数可以传入请求地址,代表无论什么请求方式,只要请求的是这个地址就接收这 个请求

基本用法:

const express = require('express')
const app = express()
app.use((req, res) => {
    res.send('你不错!')
})
app.get('/', (req, res) => {
    res.send('我是主页')
})
app.get('/new', (req, res) => {
    res.send('我是添加')
})
app.listen(3000, () => {
    console.log('Server is running at http://127.0.0.1:3000')
})
  • app.use会接收所有传递方式中的所有路由 导致后面的路由不会继续匹配

next的用法

默认情况下,如果前面的路由已经匹配上,如果后面还有中间件,则不会执行,需要使用 next ,才会 向后执行

app.use中间件的应用

路由的保护

客户端在访问需要登录的页面时,可以先使用中间件判断用户登录状态,用户如果未登 录,则拦截请求,直接响应,禁止用户访问需要登录的页面

  1. 如果用户未登录

  2. 如果用户已经登录

网站维护公告

在所有路由的最上面定义接收所有请求的中间件,直接为客户端作出响应,网站正 在维护中

自定义404(当用户输入与路由不匹配网址时)

const express = require('express')
const app = express()
app.get('/', (req, res) => {
    res.send('我是主页')
})
app.get('/new', (req, res) => {
    res.send('我是添加')
})
//当用户访问地址与以上路由均不匹配时 进入下面的路由 因为下面会匹配任何路由
app.use((req, res, next) => {
    res.status(404).send('你访问的地址不存在')
})
app.listen(3000, () => {
    console.log('Server is running at http://127.0.0.1:3000')
})

错误处理中间件

程序中有两类错误

  1. 代码错误,这个在开发调试阶段就可以解决掉
  2. 运行时错误:程序运行时才可能出现的错误,如读取的文件不存在,连接数据库时数据库服务没有 启动,这类错误的发生与我们的代码没有关系

同步错误处理

同步错误发生后,错误处理能够自动捕捉

下面手动的制造一个错误并抛出,错误处理能够获取错误信息

总结上面代码:

不仅仅局限于手动抛出的错误 错误中间件才能够捕获 还包括同步中的调用未定义的方法 含有语法错误的对象 解析json字符串的错误

异步错误

异步错误发生后,错误处理中间件无法自动捕捉:使用next执行错误处理

例如:读取不存在的文件错误

在回调函数中使用next

写在最后

原 创 不 易 , 还 希 望 各 位 大 佬 支 持 一 下 \textcolor{blue}{原创不易,还希望各位大佬支持一下}


👍 点 赞 , 你 的 认 可 是 我 创 作 的 动 力 ! \textcolor{green}{点赞,你的认可是我创作的动力!}


⭐️ 收 藏 , 你 的 青 睐 是 我 努 力 的 方 向 ! \textcolor{green}{收藏,你的青睐是我努力的方向!}


✏️ 评 论 , 你 的 意 见 是 我 进 步 的 财 富 ! \textcolor{green}{评论,你的意见是我进步的财富!}



相关文章
|
1月前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实战指南
【9月更文挑战第6天】在数字化时代的潮流中,后端开发作为支撑现代Web和移动应用的核心,其重要性不言而喻。本文将深入浅出地介绍如何使用Node.js及其流行的框架Express来搭建一个高效、可扩展的后端服务。通过具体的代码示例和实践技巧,我们将探索如何利用这两个强大的工具提升开发效率和应用性能。无论你是后端开发的新手还是希望提高现有项目质量的老手,这篇文章都将为你提供有价值的见解和指导。
|
2月前
|
JavaScript 前端开发 中间件
构建高效后端服务:Node.js与Express框架的完美搭档
【8月更文挑战第28天】在追求高性能、可扩展和易维护的后端开发领域,Node.js和Express框架的组合提供了一种轻量级且灵活的解决方案。本文将深入探讨如何利用这一组合打造高效的后端服务,并通过实际代码示例展示其实现过程。
|
2月前
|
JavaScript 中间件 API
深入浅出Node.js后端框架——Express
【8月更文挑战第27天】在这篇文章中,我们将一起探索Node.js的热门框架Express。Express以其简洁、高效的特点,成为了许多Node.js开发者的首选框架。本文将通过实例引导你了解Express的核心概念和使用方法,让你快速上手构建自己的Web应用。
|
2月前
|
存储 JavaScript NoSQL
构建高效Web应用:使用Node.js和Express框架
【8月更文挑战第30天】本文将引导你了解如何使用Node.js和Express框架快速搭建一个高效的Web应用。通过实际的代码示例,我们将展示如何创建一个简单的API服务,并讨论如何利用中间件来增强应用功能。无论你是新手还是有经验的开发者,这篇文章都将为你提供有价值的见解。
|
2天前
|
Web App开发 JavaScript 前端开发
使用Node.js和Express框架构建Web服务器
使用Node.js和Express框架构建Web服务器
|
3天前
|
Web App开发 JavaScript API
构建高效后端系统:Node.js与Express框架的实践之路
【9月更文挑战第37天】在数字化时代的浪潮中,后端开发作为技术架构的核心,承载着数据处理和业务逻辑的重要职责。本文将深入探讨如何利用Node.js及其强大的Express框架来搭建一个高效、可扩展的后端系统。我们将从基础概念讲起,逐步引导读者理解并实践如何设计、开发和维护一个高性能的后端服务。通过实际代码示例和清晰的步骤说明,本文旨在为初学者和有经验的开发者提供一个全面的指南,帮助他们在后端开发的旅途上走得更远。
17 3
|
12天前
|
Web App开发 JavaScript 前端开发
构建高效Web应用:Node.js与Express框架的深度整合
【9月更文挑战第28天】在现代Web开发领域,Node.js和Express框架的结合已成为打造高性能、易扩展应用的黄金组合。本文将深入探讨如何利用这一技术栈优化Web应用架构,提供具体实践指导,并分析其性能提升的内在机制。通过代码示例,我们将展示从基础搭建到高级功能的实现过程,旨在为开发者提供一条清晰的学习路径,以实现技术升级和项目效率的双重提升。
26 3
|
22天前
|
缓存 监控 JavaScript
构建高效后端服务:Node.js与Express框架的完美结合
【9月更文挑战第18天】在数字化时代的浪潮中,后端服务的效率和稳定性成为了企业竞争力的关键。本文将深入探讨如何使用Node.js和Express框架来构建一个既高效又稳定的后端服务,同时通过实际代码示例,展示如何优化性能并确保服务的高可用性。
|
29天前
|
Web App开发 缓存 JavaScript
构建高效后端服务:Node.js与Express框架的完美结合
【9月更文挑战第11天】本文将引导开发者探索如何利用Node.js和Express框架搭建一个高效的后端服务。文章不仅深入讲解了这两个工具的核心概念,还通过实际示例展示了它们的强大功能和易用性。读者将学会如何处理HTTP请求、设计RESTful API以及优化应用性能。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识,帮助你在后端开发领域更进一步。
|
11天前
|
JSON JavaScript 前端开发
构建高效Web应用:Node.js与Express框架的完美结合
【9月更文挑战第28天】在现代Web开发中,Node.js和Express框架的结合为创建高性能、易扩展的应用提供了强有力的支持。本文将深入探讨如何利用这两种技术构建一个简单但功能强大的Web服务,同时提供代码示例以加深理解。