首秀 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}{评论,你的意见是我进步的财富!}



相关文章
|
3月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
4月前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实战指南
【9月更文挑战第6天】在数字化时代的潮流中,后端开发作为支撑现代Web和移动应用的核心,其重要性不言而喻。本文将深入浅出地介绍如何使用Node.js及其流行的框架Express来搭建一个高效、可扩展的后端服务。通过具体的代码示例和实践技巧,我们将探索如何利用这两个强大的工具提升开发效率和应用性能。无论你是后端开发的新手还是希望提高现有项目质量的老手,这篇文章都将为你提供有价值的见解和指导。
|
5月前
|
JavaScript 前端开发 中间件
构建高效后端服务:Node.js与Express框架的完美搭档
【8月更文挑战第28天】在追求高性能、可扩展和易维护的后端开发领域,Node.js和Express框架的组合提供了一种轻量级且灵活的解决方案。本文将深入探讨如何利用这一组合打造高效的后端服务,并通过实际代码示例展示其实现过程。
|
5月前
|
JavaScript 中间件 API
深入浅出Node.js后端框架——Express
【8月更文挑战第27天】在这篇文章中,我们将一起探索Node.js的热门框架Express。Express以其简洁、高效的特点,成为了许多Node.js开发者的首选框架。本文将通过实例引导你了解Express的核心概念和使用方法,让你快速上手构建自己的Web应用。
|
5月前
|
存储 JavaScript NoSQL
构建高效Web应用:使用Node.js和Express框架
【8月更文挑战第30天】本文将引导你了解如何使用Node.js和Express框架快速搭建一个高效的Web应用。通过实际的代码示例,我们将展示如何创建一个简单的API服务,并讨论如何利用中间件来增强应用功能。无论你是新手还是有经验的开发者,这篇文章都将为你提供有价值的见解。
|
2月前
|
缓存 负载均衡 JavaScript
构建高效后端服务:Node.js与Express框架实践
在数字化时代的浪潮中,后端服务的重要性不言而喻。本文将通过深入浅出的方式介绍如何利用Node.js及其强大的Express框架来搭建一个高效的后端服务。我们将从零开始,逐步深入,不仅涉及基础的代码编写,更会探讨如何优化性能和处理高并发场景。无论你是后端新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
3月前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的完美结合
【10月更文挑战第21天】本文将引导你走进Node.js和Express框架的世界,探索它们如何共同打造一个高效、可扩展的后端服务。通过深入浅出的解释和实际代码示例,我们将一起理解这一组合的魅力所在,并学习如何利用它们来构建现代Web应用。
72 1
|
2月前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
3月前
|
JSON JavaScript 前端开发
Node.js Express 框架
10月更文挑战第7天
36 2
|
2月前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
39 0