当前位置: 首页 > 后端技术 > Node.js

node(koa2)web应用模块介绍

时间:2023-04-03 16:37:34 Node.js

在我的koa2web项目中,用过好几个模块,感觉都不错,所以分享一下这几个模块。一、前言我们都知道可以通过koa2项目名来初始化koa2项目。官方已经为我们添加了koa-bodyparser、koa-josn、koa-router等非常好的模块,但是还是不够,所以我会收集有用的包介绍,当然有好的包还是会的添加到它。整个项目在koa2-web-engine中。为了方便查看,使用了native方法。欢迎查看。2.新建模块将代码克隆到本地并安装依赖后,启动服务器,即可在3000端口看到所有demo。验证码svg-captcha是一个验证码库。它创建一个svg格式的验证码,可以在登录时验证是否是普通用户登录。使用非常简单:constsvgCaptcha=require('svg-captcha');验证码=svgCaptcha.create();验证码对象包含svg数据和显示在svg上的内容。至于是否强制大小写校验,可以配置成增加的方式。处理代码位于routes/verificationCode.js中。密码加密登录后台主要使用node-rsa生成公钥和私钥,然后将公钥发送给前台。前端用jsencrypt加密后发给节点,节点用私钥解密。为了性能,我只在服务器启动时生成公钥和私钥。所有后续请求都将使用这组公钥和私钥。它位于utils/RSA.js文件中,并在routes/login.js中解密。更详细的可以查看我的博客:基于node的RSA加解密的简单实现。参数类型检测为了服务器的安全,服务器必须对前端发送的数据进行校验。我这里用的joi库。校验主要依赖于Joi.validate()方法,第一个参数是要校验的对象数据,第二个参数是数据中每个key对应的数据类型,第三个是可选选项,返回值为一个对象,该对象下的error字段用于判断是否校验成功。在utils/checkParams.js中,paramsFormat定义了检测类型。当然,每种类型都必须使用joi的内置类型。checkParams()函数是进行检测的地方,返回最终的检测结果。回到routes/joi.js,使用checkParams()方法检测数据类型。这里的检测是针对单个请求的。如果想针对所有的请求,可以写成中间件的形式,比如utils/middleware.js,在app.js中加入如下内容即可:constmiddleware=require('./utils/middleware');中间件。使用(应用程序);anti-xss这里使用了xss模块,每次请求的数据都经过xss处理,输出到后台。为此,我自己搭建了koa2-xss中间件模块,顺便学习了如何发布npm包。如果你有兴趣,你可以看看。对于日志记录,我使用log4js模块,它可以记录到数据库或日志文件中。这里我写入文件。utils/logs.js文件是log4js的配置,封装了对外的调用接口,routes/log4js.js根据用户发送的请求记录在日志文件中。定时任务使用node-schedule模块。一个系统总会用到定时任务。Node-schedule提供了相对简单的API,使用起来更方便。在route合并koa2初始化项目中,需要将每个route文件放到app.js中。当路由文件比较多的时候,管理这些路由很麻烦,所以引入koa-compose来管理这些路由文件。暴露一个接口。有关详细信息,请参阅routes/index.js文件。webSocketwebsocket也用在实时性要求高的场景,我们可以使用ws模块来实现。更详细的可以查看我的文章:基于node实现websocket通信。3.总结后面会在koa2-web-engine中加入一些有趣有用的模块。原文地址:http://www.zhuyuntao.cn/2019/...欢迎关注微信公众号【不懂前端】或扫描下方二维码!