2020年14个最有用的NodeJS库(node用什么数据库)
ccwgpt 2025-05-10 20:18 3 浏览 0 评论
Express
快速,简单,极简的节点Web框架
对…有好处
· 易于处理多种类型的请求,例如GET,PUT,POST和DELETE请求
· 快速构建单页,多页和混合Web应用程序
每周下载
1100万
License
MIT
备择方案
Koa, Hapi, Meteor
cheerio
Cheerio解析标记(例如HTML),并提供用于遍历/操纵结果数据结构的API
const cheerio = require('cheerio');
const $ = cheerio.load('<ul id="fruits">...</ul>');
对…有好处
· 制作网络爬虫/刮板
· 简单直观的语法和用法
每周下载
420万
License
MIT
备择方案
jsdom, puppeteer
nodemailer
从Node.js发送电子邮件
const nodemailer = require("nodemailer");
let testAccount = await nodemailer.createTestAccount();
let transporter = nodemailer.createTransport({
host: "smtp.ethereal.email",
port: 587,
secure: false,
auth: {
user: testAccount.user,
pass: testAccount.pass
}
});
let info = await transporter.sendMail({
from: '"Fred Foo " <foo@example.com>',
to: "bar@example.com, baz@example.com",
subject: "Hello ",
text: "Hello world?",
html: "<b>Hello world?</b>"
});
对…有好处
· 轻松使用SMTP发送邮件
每周下载
98万
License
MIT
备择方案
sendmail, emailjs
socket.io
Socket.IO支持基于事件的实时双向通信
const server = require('http').createServer();
const io = require('socket.io')(server);
io.on('connection', client => {
client.on('event', data => { ... });
client.on('disconnect', () => { ... });
});
server.listen(3000);
对…有好处
· 实施实时分析,二进制流,实例消息传递和文档协作
· 知名用户包括Microsoft Office,Yammer和Zendesk
每周下载
3M
License
MIT
备择方案
pusher
Faker
在浏览器和node.js中生成大量假数据
var faker = require('faker');
var randomName = faker.name.findName(); // Rowan Nikolaus
var randomEmail = faker.internet.email(); // Kassandra@erich.biz
var randomCard = faker.helpers.createCard(); // random contact card
对…有好处
· 在API后端构建尚未完成的情况下构建前端UI并与数据进行交互
· 多种API方法,包括地址,公司,数据库,图像,名称(firstName,lastName)
每周下载
140万
License
MIT
备择方案
casual
morgan
Node.js的HTTP请求记录器中间件
例如GET / 200 51.267 ms — 1539
morgan
(':method :url :status :res[content-length] - :response-time ms')
---
var express = require('express')
var morgan = require('morgan')
var app = express()
app.use(morgan('combined'))
app.get('/', function (req, res) {
res.send('hello, world!')
})
对…有好处
· 将请求记录在控制台,文件,数据库中
· 调试和日志历史记录
每周下载
2M
License
MIT
http-errors
为Express,Koa,Connect等创建HTTP错误。
app.use(function (req, res, next) {
if (!req.user)
return next(createError(401, 'Please login to view this page.'))
next()
})
对…有好处
· 易于发送错误响应
· 许多错误属性可用
expose
headers
message
status
statusCode
每周下载
27M
License
MIT
body-parser
Node.js主体解析中间件
在处理程序之前在中间件中解析传入的请求主体,该处理程序在req.body属性下可用
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
对…有好处
· 解释请求正文
· 许多选项,例如inflate,type,verify
每周下载
1300万
License
MIT
sequelize
Sequelize是用于Postgres,MySQL,MariaDB,SQLite和Microsoft SQL Server的基于承诺的Node.js ORM
它具有可靠的事务支持,关系,急切和延迟加载,读取复制等功能
const sequelize = new Sequelize
('database', 'username', 'password',
{
host: 'localhost',
dialect: /* one of 'mysql'
| 'mariadb' | 'postgres' | 'mssql' */ });
对…有好处
· Node.js ORM
每周下载
720K
License
MIT
passport
Passport是Node.js的Express兼容身份验证中间件
Passport的唯一目的是对请求进行身份验证,它通过一组称为策略的可扩展插件来完成
passport.use(new LocalStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.verifyPassword(password)) { return done(null,
false); }
return done(null, user);
});
}
));
对…有好处
· Node.js身份验证
· 与OAuth和OpenID集成(Facebook,Twitter等…登录)
每周下载
810K
License
MIT
Dotenv
Dotenv是一个零依赖模块,可将环境变量从.env文件加载到process.env中
将配置与代码分开存储在环境中
require('dotenv').config()
const db = require('db')
db.connect({
host: process.env.DB_HOST,
username: process.env.DB_USER,
password: process.env.DB_PASS
})
// .env file
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
对…有好处
· 加载环境变量,例如AWS,sql用户名,部署,连接到其他工具所需的密码
· 将配置与代码分开存储在环境中
每周下载
10M
License
BSD-2
multer
Multer是用于处理multipart / form-data的node.js中间件,主要用于上传文件
var express = require('express')
var multer = require('multer')
var upload = multer({ dest: 'uploads/' })
var app = express()
app.post('/profile',
upload.single('avatar'), function (req, res, next) {
// req.file is the `avatar` file
// req.body will hold the text fields, if there were any
})
app.post('/photos/upload',
upload.array('photos', 12), function (req, res, next) {
// req.files is array of `photos` files
// req.body will contain the text fields, if there were any
})
对…有好处
· 易于上传多部分/表单数据文件
每周下载
92000
License
MIT
axios
基于Promise的HTTP客户端,用于浏览器和node.js
const axios = require('axios');
// Make a request for a user with a given ID
axios.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.finally(function () {
// always executed
});
对…有好处
· 从node.js发出HTTP请求
· 从浏览器发出XMLHttpRequests
· 支持Promise API
每周下载
960万
License
MIT
CORS
CORS是用于提供Connect / Express中间件的node.js程序包,可用于启用具有各种选项的CORS
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('CORS-enabled web server listening on port 80')
})
对…有好处
· 轻松处理CORS问题
每周下载
370万
License
MIT
普通纸条
您知道我们有四个出版物和一个YouTube频道吗? 您可以在我们的主页plainenglish.io上找到所有这些内容-通过对我们的出版物进行关注并订阅我们的YouTube频道来表达爱意!
(本文翻译自GP Lee的文章《14 Most Useful NodeJS Libraries in 2020》,参考:
https://medium.com/javascript-in-plain-english/14-most-useful-nodejs-libraries-in-2020-9e0a5e72d1d8)
相关推荐
- 5 分钟搭建 Node.js 微服务原型(node 微服务架构)
-
微服务已成为在Node.js中构建可扩展且强大的云应用的主流方法。同时也存在一些门槛,其中一些难点需要你在以下方面做出决策:组织项目结构。将自定义服务连接到第三方服务(数据库,消息代理等)处理微服...
- 当前的前端,真的不配叫程序员吗?
-
今天看到一个比较令人震惊的帖子,说前端不配叫程序员,令我很吃鲸,是谁我就不说了,帖子出处是一个大龄程序员组里面的,想想也不觉得奇怪了,毕竟对于年龄比较大的程序员来说,前端起步比较晚,最开始就是一个切图...
- 聊聊asp.net中Web Api的使用(asp.net core web api教程)
-
扯淡随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥...
- NodeJS中,listen Access:permission denied解决办法
-
错误描述:Win10系统,NodeJS程序。使用express框架开发的http服务器,启动时出现错误提示“listenAccess:permissiondenied"。错误原因:这是由于...
- Hono — 下一代高性能web框架(天融信下一代vnp)
-
最近公司可能要有变革,要统计我们的技能。真的是很无语,但是有没有办法。哎,问豆包吧提起Hono大家可能很陌生,这是什么?但是我提到Expressjs、nodejs想必前端小伙伴很熟悉啊。那么Hon...
- 生活例子说明线程,简单明了(列举一个日常生活中的例子以程序的形式表示)
-
1.程序设计的目标在我看来单从程序的角度来看,一个好的程序的目标应该是性能与用户体验的平衡。当然一个程序是否能够满足用户的需求暂且不谈,这是业务层面的问题,我们仅仅讨论程序本身。围绕两点来展开,性能...
- Node实战006:自定义模块的创建和使用详解
-
Node的应用是由模块组成的,每个文件的定义都是一个模块(module变量代表当前模块)并有自己的作用域。Node遵循commonjs的模块规范,用来隔离每个模块的作用域,使每一个模块在自身的命名空间...
- Node.js基本内容和知识点(node.js的概念)
-
简单的说Node.js就是运行在服务端的JavaScript,起初段定位是后端开发语言,由于技术的不够成熟,一般小型项目会完全使用node.js作为后台支撑,大项目中,运行不够稳定,不会轻易使用...
- 干货 | 如何利用Node.js 构建分布式集群
-
引言在软件定义的世界里,企业通过Web应用和移动应用程序来提供大部分的服务,Node.js迅速成为时下最为流行的一个平台之一,就和它可以搭建响应速度快、易于扩展的web应用和移动应用有很大关系,并凭...
- nodejs mongodb 实现简易留言板(node.js留言板)
-
一个朋友问了一下mongodb的一些操作问题我就做了下面这个简单的留言板给他做一个实例希望能帮助到他express的框架就不说了express的问题请移步nodejs之expressht...
- nodejs mqtt 智能售货机系统物联网控制系统源码分享
-
智能售货机系统(Moleintelligentvendingmachinesystem)是一套物联网控制系统性的解决方案。主要涉及到的语言和库有c,c++,js,nodejs,vue.js,...
- 为什么 Node.js 这么火,而同样异步模式 Python 框架 Twisted 却十几年一直不温不火?
-
说nodejs只是靠营销的是否太天真了些?当初nodejs出来的时候各种BUG,我简单的测试其大文件传输都会出现各种问题。而同時期的其他阵营早就甩其几条街了。但是为什么却能一直不断发展壮大?...
- 2020年14个最有用的NodeJS库(node用什么数据库)
-
Express快速,简单,极简的节点Web框架对…有好处·易于处理多种类型的请求,例如GET,PUT,POST和DELETE请求·快速构建单页,多页和混合Web应用程序每周下载1100万Lice...
- 连载:2016年最好的JS框架和库(下)
-
继续上一期的介绍:Agility.jsAgility.js是专为JS服务的MVC库,你可以免费编写可再用和可维护的浏览器代码,Agility支持Js,样式(CSS)、内容(HTML)和行为(JS)。C...
- awesome-nodejs 终极资源库:60K+星标的开发者宝藏
-
Node.js终极资源库:60K+星标的开发者宝藏引言在GitHub上,有一个备受瞩目的Node.js资源仓库,以其惊人的60.6k星标量和6kfork量,成为了Node.js开发者的必备参考。这个...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 5 分钟搭建 Node.js 微服务原型(node 微服务架构)
- 当前的前端,真的不配叫程序员吗?
- 聊聊asp.net中Web Api的使用(asp.net core web api教程)
- NodeJS中,listen Access:permission denied解决办法
- Hono — 下一代高性能web框架(天融信下一代vnp)
- 生活例子说明线程,简单明了(列举一个日常生活中的例子以程序的形式表示)
- Node实战006:自定义模块的创建和使用详解
- Node.js基本内容和知识点(node.js的概念)
- 干货 | 如何利用Node.js 构建分布式集群
- nodejs mongodb 实现简易留言板(node.js留言板)
- 标签列表
-
- MVC框架 (46)
- spring框架 (46)
- 框架图 (58)
- bootstrap框架 (43)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- laravel框架 (46)
- express框架 (43)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- java框架spring (43)
- grpc框架 (55)
- ppt框架 (48)
- 内联框架 (52)
- winform框架 (46)
- gui框架 (44)
- cad怎么画框架 (58)
- ps怎么画框架 (47)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)
- oracle提交事务 (47)