2020年14个最有用的NodeJS库(node用什么数据库)
ccwgpt 2025-05-10 20:18 29 浏览 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)
相关推荐
- 一个基于.Net Core遵循Clean Architecture原则开源架构
-
今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...
- AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%
-
写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...
- OneCode低代码平台的事件驱动设计:架构解析与实践
-
引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...
- 国内大厂AI插件评测:根据UI图生成Vue前端代码
-
在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...
- AI+低代码技术揭秘(二):核心架构
-
本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...
- GitDiagram用AI把代码库变成可视化架构图
-
这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...
- 30天自制操作系统:第六天:代码架构整理与中断处理
-
1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...
- AI写代码越帮越忙?2025年研究揭露惊人真相
-
近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...
- 一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具
-
一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...
- 5分钟掌握 c# 网络通讯架构及代码示例
-
以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...
- 从复杂到优雅:用建造者和责任链重塑代码架构
-
引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...
- 低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈
-
专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...
- 框架设计并不是简单粗暴地写代码,而是要先弄清逻辑
-
3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...
- 大佬用 Avalonia 框架开发的 C# 代码 IDE
-
AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...
- 轻量级框架Lagent 仅需20行代码即可构建自己的智能代理
-
站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 框架图模板 (59)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)