-
使用 Express.js 构建一个简单的 Node.js 应用程序来下载 PDF
在本教程中,我们将逐步介绍使用 Express.js 构建 Node.js 应用程序的过程,该应用程序允许用户下载 PDF 文件。对于从文档管理系统到教育平台的各种应用程序来说,这都是一个有用的功能。 在我们开始之前,请确保您具备以下先决条件: 安装 Node.js(https://nodejs.org/) 安装
-
【Express.js】express-validator
express.js 集成 express-validator进行数据校验 在最初的时候,对于请求的数据校验,我们是自定义一个中间件,然后在里面通过最原生的方式检验。在本节,我们将尝试用一种更优雅的方式进行数据校验。 创建一个基础的 express 项目(本文基于evp-express-cli),并支持全局同步和异
-
【Express.js】页面渲染
常见的页面分为两种,一种是静态页面,比如用 Vue、React 等写好的静态页面,另一种是动态模板页面,如 Thymeleaf,JSP 等。 本节将简要介绍如何在 express 中渲染静态页面,以及适用于 express 的模板引擎 pug 。 写前端的和搞部署的同学应该都清除,页面渲染的用到的 css, js, f
-
Express.js认识
Express 是 Node.js 老框架,以简单和轻量著称,几行代码就可以启动一个 HTTP 服务器。 市面上主流的 Node.js 框架,如 Egg.js、Nest.js 等都与 Express 息息相关。 Express 框架使用标准 Node.js 语法,主要由以下 3 个核心部分组成: 路由。 中间件。 错误处理。 Express 基本结
-
【Express.js】请求类型
本节将介绍常见的http请求方式,并站在后端的角度初步感受它们的不同点 GET 意图是 获取 ,不会对服务器上的数据产生影响,将要携带的数据放在 URL 上,通常不带请求体,带了也不一定兼容 POST 意图是 提交 ,通常用于修改和新增服务器上的数据,偏向 新增 ,路径定位较
-
【Express.js】软件测试
本节介绍如何在 express.js 使用 Jest 进行单元测试 准备一个基础的 express 项目,本文基于 evp-express-cli 安装 Jest 生成 Jest 配置 创建测试文件,以 .test.js 后缀命名,Jest 在运行期间会自动查找并执行符合 *.test.js 命名的文件,为规范起见,新建一个 test 目录,存放所有的测试文件
-
【Express.js】微服务架构
微服务 微服务架构是将一个单体应用程序拆分为一个个独立且保持松耦合的服务的一种架构方式,每个服务有着独立的数据库并且能独立运行部署,所有的服务最终可以被视作一个集群而进行统一管理 优缺点 从微服务的理念着手,它的优缺点绝大部分能通过与单体应用相对
-
【Express.js】处理请求数据
本节将具体介绍express后端处理请求源携带数据的一些方法和技巧 很多时候我们需要处理一些类似但有操作差别或不同对象的业务,我们可以监听一段基本路径,将其中某一个段或者某几段路径作为变量,在接口中根据不同的路径变量执行不同的业务操作,这是一种REST风格比
-
【Express.js】集成SocketIO
本节我们介绍在如何在 express 中集成 Socket.IO Socket.IO 算是 WebSocket 的一个超集,进行了一些封装和拓展。 创建一个 express.js 项目(本文基于evp-express-cli) 安装socket.io.js: 正常的项目都是分层的,为了避免循环依赖,本文采用代理类构造单例的方式来创建websocket服务器。 wsPro
-
【Express.js】集成Redis
本节我们介绍在 express.js 中集成 redis. Redis是一个高性能的key-value内存数据库,支持事务、队列、持久化等特性,常用于高并发性能场景。 创建一个 express.js 项目(本文基于evp-express-cli) 在开发环境下安装redis 安装redis.js: 正常的项目都是分层的,为了避免循环依赖,本文采用
-
【Express.js】全局错误处理
在前面几节里,我们处理异常的方法都是手动在可能引发异常的地方捕捉错误,这固然是必要的,可以有针对性得处理异常,但很多时候,有许多潜在的异常,有一句话叫永远不要相信输入的数据,你永远都不知道什么时候可能会以什么方式触发某些阴间异常从而造成系统崩
-
【Express.js】集成RabbitMQ
本节我们介绍在 express.js 中集成 rabbitmq. RabbitMQ 是一个消息队列中间件,常用于请求削峰,事务的队列处理,事件订阅机制的实现等。 创建一个 express.js 项目(本文基于evp-express-cli) 在开发环境下安装rabbitmq 安装amqplib.js: 正常的项目都是分层的,为了避免循环依赖,本文采用
-
【Express.js】集成Websocket
本节我们介绍在如何在 express 中集成 websocket。 WebSocket 服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。 创建一个 express.js 项目(本文基于evp-express-cli) 安装ws.js: (本教程使用更通用的ws.js,有
-
node.js(express.js)+mysql实现注册功能
/utils/db.js文件的代码如下: 项目安装指定版本bcryptjs库 再插入新用户时输入中文username mysql会 出现字符集不匹配的情况 报错情况如下: ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’ 原因: mysql数据库建表的时候采
-
node.js(express.js)+mysql实现登录功能
实现步骤 1.检测表单数据是否合法 2.根据用户名查询用户的数据 3.判断用户输入的密码是否正确 4.生成JWT 的 Token 字符串 登录接口完整代码如下:controllers/user.js文件 一、检测登录表单的数据是否合法 1)安装 jOi 包,为表单中携带的每个数据项,定义验证规则: (2)安装 @e