nodejs被视为许多Web开发人员的理想运行时环境。
nodejs的设计是为了在运行时中使用JavaScript编写的代码,它是世界上最流行的编程语言之一,并允许广泛的开发者社区构建服务器端应用程序。
nodejs提供了通过JavaScript库重用代码的能力,但是选择合适的库可能很困难。
有用的库可以缩短开发时间,并为我们的Web应用程序提供一些优势,例如更快的负载时间和减少应用打包大小。
在选择库时,需要考虑应用程序的复杂性、支持库的社区、更新的频率及其文档的质量。本文就将介绍几个非常流程的库
Sequelize是一种基于Promise的nodejs对象关系映射器(ORM)的使用,使开发人员更容易使用关系数据库。
支持PostgreSQL、mysql、 MariaDB、SQLite等数据库。
使用javaScript对象对数据库表的结构进行序列化,并连接到受欢迎的关系数据库来查询和更改数据。然后它解析所检索到的数据,并将其作为javaScript对象返回。
特征和好处:
SQL查询SQL注入漏洞和SQL注入攻击GraphQL
CORS使用Connect/Express提供跨域来源资源共享(CORS)作为中间件。
CORS包封装了nodejs路由中间件,允许程序从自己的域以外的域访问资源。
它接受几个参数来指定跨域来源选项,如源、请求头等。
特点和好处:
Web应用程序中启用CORS所需的代码数量。CORS,同时禁止其他来源。Nodemailer简化从nodejs服务器发送的电子邮件。
它使用一个传输对象,该对象除其他支持传输外,是基于简单的邮件传输协议。
优点和特点:
SMTP、亚马逊简单电子邮件服务(SES)、邮件和流都由一个模块提供支持。txt和HTML格式。passport是一个nodejs的认证中间件模块。
passport支持超过500个认证方案,包括谷歌、Facebook、推特和其他定制和单登录(SSO)提供商。
通常的用户名和密码登录、通过OAuth对社交网站进行授权认证。
特点和好处:
SSO认证Express 和 Connect中间件的无障碍配置,可以避免在应用程序中安装额外的路由。Async是一个强有力的nodejs实用模块,它通过使用javascript中的async或回调接受方法,帮助开发人员使用异步javascript。
当我们向async模块提供一个回调数组,它会将结果包装在一个Promise进行返回。
特点和优势:
javascript中的嵌套"回调地狱"。
Winston是一个用于nodejs的日志包。
这些transporters 根据我们的应用程序的要求存储和定制日志。
特点和好处:
JSON或文本格式保存日志。Mongoose是基于JS的MongoDB数据库对象建模工具,通常被称为对象数据建模(ODM)库,它提供了挂钩、模型验证、连接和查询等功能。
Mongoose通过在应用程序层中添加单个模式来提供基于架构的应用程序数据解决方案,该架构将导致与MongoDB集合。
特色和好处:
Mongodb事务代码。MongoDB数据库集合的指定结构,向开发人员提供一个MongoDB数据库实例。Socket.IO是一个nodejs通信包,允许客户端浏览器和服务器实时、双向和基于事件的通信。
它通过http在服务器和客户机之间建立低层次的连接。
一旦建立了连接,客户机和服务器的通信就会实时地发生在整个TCP上。
特色和好处:
http长选作为备用选择。Lodash是一个实用javaScript程序包,帮助开发人员编写简单和可维护的代码。
它包括了200多个实用程序函数,以帮助处理常见的编程杂务,比如检查类型、简单的数学操作等等。
特点和优势:
Polyfills用于实现跨浏览器兼容性。Axios是一个基于Promise的http客户端。它还根据需要管理浏览器或nodejs请求和响应数据的转换。
Axios是同构的,这意味着它可以使用相同的代码在服务器和客户端上操作。
Axios在服务器端使用一个本地的HTTP模块,而在客户端使用XMLHttpRequest 优先进行http通信。
特点和优势:
HTTP数据类型提供API方法,如get、post等。http查询时,通过防止跨站点请求伪造(csrf)来提高安全性。JSON格式。puppeteer是一个高级的nodejs框架,允许我们通过提供一个高级的API来控制Chrome/Chromium浏览器(通过DevTools协议)。
它自动化前端测试,如请求处理测试、标识和比较UI组件以及性能测试等。
开发人员可以通过将木偶包导入代码来构建一个Chrome实例。
然后,该实例可以与浏览器引擎通信,以实现自动化测试。
特点和优势:

Multer是一个nodejs中间件库。它是建立在HTML表单解析器总线和支持multipart 和multiform 数据。
初始化实例后,它的参数之一是一个测试对象,它指定上传的文件将保存在服务器的哪里。
Multer提供了一个文件对象和上传请求,而Multer API解析并将其传输到目标站点。
特点和优势:
http请求数据更易于存储。Dotenv是一个维护应用程序环境变量和保护关键配置数据的nodejs实用模块。
当配置dotenv 时,环境变量立即注入process.env中。
特点和优势:
API key和登录凭证,并允许每个开发人员建立自己的环境文件。