1. Sequelize
Sequelize是一个基于promise的Node.js对象关系映射器(ORM),它使开发人员更容易使用关系数据库。 支持PostgreSQL,MySQL,MariaDB,SQLite和更多数据库。
Sequelize使用JavaScript对象对数据库表的结构进行建模,并连接到常用的关系数据库以查询和更改数据。
然后,它解析检索到的数据并将其作为JavaScript对象返回。
Sequelize功能和优点:
-
连接到数据库并执行操作,而无需编写原始SQL查询
-
减少SQL注入漏洞和SQL注入攻击
-
与GraphQL兼容
2.CORS
image
CORS是一个Node.js包,它使用Connect/Express作为中间件提供跨域资源共享(CORS)。 CORS包包装了Node.js路由中间件,允许程序从其自身域以外的域访问资源。
它接受多个参数来指定跨域选项,如origin、header等。
CORS的特点和优势
-
减少了在Web应用程序中启用CORS所需的代码量。
-
允许您指定允许列出的域,并允许用户为某些来源启用CORS,同时禁止其他来源。
-
提供流畅的错误处理,帮助开发人员分析可疑来源的安全风险。
3.Nodemailer
Nodemailer简化了从Node.js服务器发送的电子邮件。
它使用一个传输对象,该对象基于简单邮件传输协议(SMTP)以及其他支持传输。
要创建消息,此传输对象接受from、to、subject、body和其他参数作为输入。
功能和优点
-
SMTP、Amazon Simple Email Service(SES)、Sendmail和Stream都由单个模块支持。
-
支持电子邮件正文中的文本和HTML材料
-
设置传递状态通知并允许批量电子邮件传递。
4.passport
image
Passport是一个模块化的Node.js身份验证中间件。
Passport支持超过500种身份验证方案,包括Google、Facebook、Twitter和其他自定义和单点登录(SSO)提供商。
普通用户名和密码登录、通过OAuth进行的社交网站委托身份验证以及用于联合身份验证的OpenID都是可选的。
功能和优点
-
使用最少的编码,为社交网站提供内置SSO身份验证。
-
为多个会话设置永久登录信息。
-
通过使用Express和Connect中间件的无障碍配置,可以避免在应用程序中安装额外的路由。
5. Async
Async是一个强大的Node.js实用程序模块,可以帮助开发人员通过使用JavaScript“JavaScript”或回调接受方法来使用异步JavaScript。
当您为Async模块提供一个回调数组时,它会运行并包装它们以交付一个promise。
特点和优势:
-
提供超过70种实用方法,可轻松开发异步控制流。
-
提供一种“并行”方法来处理对主机的大量请求(否则需要大量代码才能实现)。
-
帮助结束JavaScript中嵌套的“回调地狱”。
6. Winston
Winston是Node.js的日志包,允许在许多传输上进行通用日志记录。
这些传输器根据您的应用程序的要求存储和自定义日志。
除了默认值外,“日志记录器”方法还允许您创建使用可用传输选项(包括控制台、文件和数据库)的自定义日志记录器。
自定义记录器也可以与自定义传输结合使用。
特点和好处
-
从单个配置文件控制日志记录。
-
允许您自定义日志格式,例如以JSON或文本格式保存日志。
-
提供可调整的日志记录级别,您可以根据应用程序的要求进行自定义。