【Node】Node.js 资源汇总推荐

news2024/12/25 1:57:32

在这里插入图片描述

【导读】:Node.js 是一个开源、跨平台的,用于编写服务器和命令行的 JavaScript 运行时工具。awesome-nodejs 是sindresorhus发起维护的 Node.js 资源列表,内容包括:命令行工具、日志、调试、HTTP、构建工具、文件系统、模板、Web 框架、流程控制、文本、图片和数据校验等。

包:
黑科技 命令行程序 函数式编程 HTTP 调试 / 分析 日志 命令行工具 构建工具 硬件 模板 Web 框架 文档相关 文件系统 流程控制 文件流 实时 图片 文本 数字 数学 日期 URL 数据校验 解析 人性化 压缩 网络 数据库 测试 安全 基准化分析 代码压缩 认证 授权 电子邮件 任务队列 Node.js 管理 自然语言处理 进程管理 自动化 AST 静态网站生成 内容管理系统 论坛 写博客 怪诞的 序列化 其他


黑科技

包名描述
webtorrentNode.js 和浏览器端洪流客户端
peerflix洪流客户端
dat对数据集的实时复制和版本控制
ipfs探索使用相同系统文件连接所有计算设备的分布式文件系统
stackgl建立在 browserify 和 npm 之上的 WebGL 开放软件生态系统
peerwiki所有 BitTorrent 上的维基百科
peercastChromecast 上的视频种子播放软件
BitcoinJS简洁,可读性强的,可靠的比特币库
Bitcore纯净强大的比特币库
PDFKitPDF 生成库
turf模块化地理空间处理和分析引擎
webcat使用你的 GitHub 私/公钥利用点对点网页即时通信进行跨网络鉴权
NodeOS第一个基于 npm 的操作系统
YodaOSAI 操作系统
Brain.js机器学习框架
Pipcook用于创建机器学习管道的前端算法框架
Cytoscape.js图论(a.k.a. 网络)建模和分析
KadenceKAD 算法分布式哈希表
Seedshot临时点对点分享浏览器截屏
js-git用 JavaScript 实现的 Git
skale高性能分布式数据处理引擎
xlsx纯 JS 的 Excel 表格读写工具
isomorphic-git纯 JavaScript 实现的 Git

命令行程序

包名描述
np更好的 npm publish
npm-name检查包名在 npm 上是否可用
gh-home打开当前目录下项目的 GitHub 主页
npm-home打开一个包的 npm 主页
trash比 rm 更安全的选择
speed-test测试你的互联网连接速度和 ping 值
emoj命令行下从文本中查找相关的 emoji
pageres获取网站的截图
cpy复制文件
vtop有漂亮图表的更好用的 top
empty-trash清空文件夹
is-up检测网站是否可以正常访问
is-online检测网络连接是否正常
public-ip获取你的公网 IP 地址
clipboard-cli在终端里复制粘贴
XO使用 JavaScript happiness 风格强制执行严格代码风格
StandardJavaScript 标准样式 - 规范所有样式的样式
ESLintJavaScript 可插式的代码规范检查工具
dev-time获取 GitHub 用户当前的本地时间
David当 npm 软件包中的依赖过时通知你
http-server简单、零配置的命令行 HTTP 服务器
Live Server具有热重启功能的开发环境 HTTP 服务器
bcat将命令管道输出到 Web 浏览器
normit在您的终端中使用语音合成功能进行 Google 翻译
fkill跨平台的进程强杀命令
pjs用 JavaScript 实现的快速过滤、映射和累加器的管道命令
license-checker对你应用中的依赖进行许可证检查
browser-run在浏览器环境中轻松运行代码
tmpin对所有允许文件输入的 CLI 程序添加 stdin 支持
wifi-password获取当前 wifi 的密码
wallpaper更换桌面壁纸
brightness更改屏幕亮度
torrent下载种子
kill-tabs关闭所有 Chrome 标签来提升性能、降低功耗以及节省内存占用
alex捕捉写作中出现的不当表达
pen用你喜爱的编辑器编写 Markdown,在浏览器中提供实时预览
subdownloader电影和电视剧的字幕下载器
dark-mode开关 macOS 暗黑模式
iponmapIP 地址查找器
Jsome使用自定义颜色和缩进打印漂亮的 JSON
itunes-remote交互式控制 iTunes
mobicon移动端应用图标生成器
mobisplash移动端应用启动页生成器
diff2html-cli生成漂亮的 HTML 展示 git diff 命令的结果
Cash用纯 JavaScript 编写的跨平台类 Unix Shell
trymodule在终端中使用 npm 软件包
jscpd源代码重复代码检测
atmo模拟服务器端 API
auto-install编写代码时自动安装依赖
lessmd终端环境下的 Markdown 预览器
cost-of-modules查找使性能降低的依赖
localtunnel向公网开放你的 localhost
svg-term-cli基于 SVG 分享终端会话
gtop终端下的系统监控仪表板
themer为您的编辑器、终端、壁纸、Slack等生成主题
carbon-now-cli为你的代码生成精美的图片
cash-cli170 种货币汇率转换
taskbook命令行环境下的任务、板块和笔记管理器
discharge轻松将静态网站部署到 Amazon S3
npkill轻松查找和删除过时且臃肿的 node_modules 文件夹

函数式编程

包名描述
lodash更好更快的Underscore.js,提供兼容性,灵活性,高性能和其他功能的实用工具库
immutable不可变数据集
Ramda专注于数据不变性和纯粹的函数式风格的工具集,利用将参数后置和自动柯里化实现灵活的函数组合。
Folktale一套用于 JavaScript 中的通用函数编程的库,它允许你编写bug更少,重用性更强的优雅的、模块化的应用程序
Mout该库与其他现有解决方案之间最大的区别是,您可以选择只加载需要的模块/函数,而不需要额外开销
Bacon.js函数式的响应式编程
RxJS用于转换、组合和查询各种类型数据的函数式响应式库
Lazy.js惰性求值的类似于 lodash/Underscore 的工具库,在许多情况下可以提供卓越的性能.
Kefir.js专注于高性能和低内存消耗的响应式库

HTTP

包名描述
got为内置的 http 模块提供更好的接口
ghgot
axios基于 Promise 的 HTTP 客户端(也可以在浏览器中工作)
wreckHTTP 客户端工具.
download使下载和提取文件变得轻松
httpproxy
superagentHTTP 请求库
nodefetch
flashheartREST 客户端
httpfake
cacheablerequest
gotql基于 got 构建的 GraphQL 请求库
globalagent
smoke可记录的基于文件的模拟 HTTP 服务

调试 / 分析

包名描述
ndb增强 Chrome DevTools 调试体验的工具
ironNode支持 ES2015 的 Node.js 开箱即用的调试器
node-inspector基于 Blink 开发者工具的调试器
debug轻量级调试工具
why-is-node-running当你不知道为何 Node.js 没有正确退出时…
njsTrace检测并跟踪代码,查看所有函数调用、参数、返回值以及在每个函数中花费的时间
vstream检查数据流并且通过管道展示
stackman增强抛出异常的错误栈追踪
locus在运行时启动所有可访问变量的REPL
0x一个火焰图分析工具
ctrace对系统调用和信号的追踪进行格式优化和增强
leakage编写内存泄露测试
llnode一个用于 “解剖” 崩溃的 Node.js 进程,检视其对象的工具
thetool以 Chrome DevTools 友好格式为你的应用捕获不同的 CPU,内存和其他资源的使用情况
swaggerstats
NiM管理 DevTools 调试工作流

日志

包名描述
pino受 Bunyan 启发的超快速日志记录器
winston支持多种记录格式的异步日志记录库
console-log-level可以想象的最简单的记录器,支持日志级别和自定义前缀
storyboard端到端,分层,实时,丰富多彩的日志和描述
signaleConsole 日志记录器
consolaConsole 日志记录器

命令行工具

包名描述
chalk美化终端字符串样式
meowCLI app 帮助
yargs自动生成优雅用户界面的命令行分析程序
ora优雅的终端旋转进度条
get-stdin简单的 stdin
log-update在终端里以覆盖前一个输出的方式打印日志,用于制作进度条或者动画等
Ink基于 React 的命令行交互程序
listr终端任务列表
conf一个简单的用于程序或模块配置管理的工具
ansi-escapes操作终端的 ANSI 转义代码
log-symbols用不同颜色的符号记录不同级别的日志
figures支援 Windows CMD 回退方案的 Unicode 符号
boxen在终端中创建方框
terminal-link在终端中创建可点击的链接
terminal-image在终端里展示图片
string-width获取字符串的可视宽度
cli-truncate在终端中将字符串截断为特定宽度
first-run检查是否是第一次运行该进程
blessed类似于 Curses 的库
Inquirer.js交互式的命令行提示工具
yn将包含 yes/no 语义的字符串解析为布尔值
clitable3
drawille使用 Unicode 盲文字符在终端上绘图
update-notifier升级 CLI 应用程序的通知
ascii-charts终端下的 ASCII 柱状图
progress灵活的 ASCII 进度条
insight使用 metrics 向 Google Analytics 发送匿名报告来帮助你理解你的工具是怎样被使用的
cli-cursor显示或关闭 CLI 光标
columnify将控制台文本打印按列输出,支持单元格修饰
cli-columns列式输出 Unicode 和 Ansi
cfonts控制台下的性感 ASCII 字体
multispinner多样的、可同时独立控制的 CLI 旋转指示器
omeletteShell 下的自动补全
cross-env跨平台的环境变量设置
shelljs可移植的 Unix shell 命令
sudo-block禁止用户用 root 权限使用你的程序
loud-rejection强制对未加处理的 promise rejections 错误给出提示
sparkly生成迷你图 ▁▂▃▅▂▇
Bit在存储库中创建、维护、查找和使用小型模块和组件
gradient-string为终端输出添加漂亮的色彩渐变
oc-ifCLI框架,包括解析器、自动文档、测试和插件
term-size准确地获得终端窗口大小
CliffyCLI 的交互式框架

构建工具

包名描述
parcel快速,零配置的Web应用构建工具
webpack面向浏览器的打包工具
rollup新一代 ES2015 打包构建工具
gulp编程式、流式快速构建系统
Broccoli快速、可靠的资源管道,支持固定时间重新编译和紧凑的构建定义
Brunch前端 web 应用程序构建工具,具有简单的声明性配置、快速的增量编译和自定的工作流
Start具有可共享预设的函数式任务管理器
ygor一个基于 Promise 的任务执行工具 —— 当需要执行的工作太多 npm run 不足以完成任务时
FuseBox首选支持 TypeScript 的结合了 webpack,JSPM 和 SystemJS 强大功能的快速构建系统
pkg将你的 Node.js 项目打包成可执行文件

硬件

包名描述
johnny-five基于 Firmata 的 Arduino 框架
serialport读写串口
usbUSB 库
i2c-busI2C 串行总线访问
onoff-GPIO 访问和中断检测
spidevice-SPI 串行总线访问
pigpio树莓派上的快速 GPIO、PWM、伺服控制、状态更改通知和中断处理
gpsNMEA 解析器,用于处理 GPS 接收

模板

包名描述
marko基于 HTML 的模板引擎,可将模板编译为 CommonJS 模块,并支持流、异步渲染和自定义标签
nunjucks灵感来自于 Jinja2 的具有继承、异步控制等功能的模板引擎
handlebars.jsMustache 模板的超集,其中添加了强大的功能,如 helpers 和更高级的 blocks
EJS超级简单的模板语言.
Pug受Haml影响的高性能模板引擎.

Web 框架

包名描述
Hapi用于创建应用和服务的框架
Koa由 Express 幕后团队设计的框架,旨在为 Web 应用程序和 API 提供更小、更富表现力和更健壮的基础
Express一个为构建单页、多页以及混合 Web 应用程序提供强大的功能的 Web 应用程序框架
Feathers受 Express 启发的微服务框架
LoopBack用于创建 REST API并轻松连接到后端数据源的强大框架
Meteor一个超简单、位于程序数据库和用户界面之间、保持二者之间数据同步更新的纯 Javascript Web 框架。(你可能会喜欢 awesome
Restify帮助你构建正确的REST Web 服务
ThinkJS支持 ES2015+ 的WebSockets REST API 框架
ActionHero用于为 TCP sockets,WebSocket 和 HTTP 客户端创建可重用、可扩展 API 的框架
Next.js极简化的 JavaScript 服务端渲染框架
Nuxt.jsVue.js 服务端渲染框架
seneca编写微服务的工具包
AdonisJs基于依赖注入和 IoC 容器技术的 Node.js 的真正 MVC 框架.
Hemera基于 NATS 编写的可靠且容错的微服务
Micro使用异步实现的极简微服务框架
Moleculer快速而强大的微服务框架
Fastify快速和低开销的 Web 框架
Nest受 Angular 启发的框架,用于构建高效且可扩展的服务器端应用程序
Zeronode用于 Node.js 微服务的最小化构建块
TypeGraphQL使用类和装饰器的,用 TypeScript 编写 GraphQL API 的现代框架
TinyHttp类似于 Express 的现代、快速的 Web 框架
Marble.js基于 TypeScript 和 RxJS 的,用于构建服务端应用的函数式编程框架

文档相关

包名描述
documentation.js支持 ES2015+ 和流程注释的 API 文档生成器
ESDoc面向 ES2015 的文档生成器,附加测试代码并评估文档覆盖范围
Docco生成一个在代码中混合注释的 HTML 的文档生成器
JSDoc类似于 JavaDoc 或 PHPDoc 的 API 文档生成器
Docusaurus基于 React 和 Markdown 的文档生成器,具有多语言和版本控制功能

文件系统

包名描述
del使用 globs 删除文件/文件夹
globby支持多种模式的 Glob 文件
cpy文件拷贝
rimraf像 rm-rf 一样的递归删除
make-dir像 mkdir-p 一样的递归创建目录
graceful-fs功能增强版的 fs 模块
chokidar像 macOS 上使用原生 fsevents 一样监听 fs.watch 和 fs.watchFile 的文件系统监听器
find-up沿父目录向上查找文件
proper-lockfile进程间和机器间 lockfile 工具
load-jsonfile
write-json-file自动将 JSON 序列化写入到文件
fs-write-stream-atomic类似 fs.createWriteStream() 的原子操作
filenamify将字符串转换为有效的文件名
lnfs像 ln-fs 一样,强制创建符号链接
istextorbinary检查文件是文本还是二进制
fs-jetpack完全重新设计的、方便日常使用的文件系统 API
fs-extra增加额外方法的 fs 模块
pkg-dir查找 npm 包的根目录
filehound灵活、流畅的用于文件系统搜索的接口
move-file甚至可以跨设备使用的移动文件工具
tempy随机获取临时文件或目录的路径

流程控制

Promises

包名描述
更多
Bluebird致力于创新功能和性能的 Promise 库
pify将 callback 风格的函数转化为 Promise 风格
delay延迟执行 Promise
promise-memoize拥有过期时间和预加载功能的 Promise 返回值缓存工具
valvelet限制 Promise 访问频率的工具
p-map可以使用 Promise 的 Map 方法

Observables

包名描述
zen-observableObservables 的实现
RxJS响应式编程
observable-to-promise将 Observable 转换为 Promise
更多…

Streams

包名描述
Highland.js仅使用标准JavaScript 和类似 Node 的流,即可轻松管理同步和异步代码

Callbacks

包名描述
each-async异步并发迭代器,如 forEach
async提供简单,强大的功能来处理异步问题

Channels

包名描述
js-csp为 JavaScript 提供连续的通信(例如 Clojurescript core.async 或 Go)

文件流

包名描述
through2基于 streams2 的轻量流转换器,避免显示子类噪声
from2方便使用的对 ReadableStream 的封装,灵感来自于 through2
get-stream以字符串或 Buffer 的形式获取流
into-stream将 buffer/string/array/object 转化为流
duplexify将可写和可读流转换为单个stream2 双工流
pumpify将一系列流合并为单个双工流
peek-stream转换流,让你可预览第一行再决定如何解析它
binary-split换行符(或任何定界符)分隔符流
byline超简单的逐行流读取器
first-chunk-stream转换流中的第一个块
pad-stream填充流中的每一行
multistream将多个流合并为一个流
stream-combiner2从管道输出流
readable-streamStreams2 and Streams3 核心实现镜像
through2-concurrent同时转换对象流

实时

包名描述
µWebSockets高可扩展度的 WebSocket 服务器和客户端库
Socket.io实现基于事件的实时双向通信
Faye基于 Bayeux 协议的实时客户端-服务器消息总线
SocketCluster可运行多 CPU 核心的可扩展的 HTTP + WebSocket 引擎
Primus实时框架的抽象层,用于防止模块锁定
deepstream.io可扩展的实时微服务框架
Kalm低层级 socket 路由和中间件框架
MQTT.jsMQTT 客户端——构建在 TCP/IP 协议上的基于 Pub-sub 的消息协议
rpc-websockets基于 WebSocket 实现的 JSON-RPC 2.0
Aedes可以在任何流服务器上运行的 MQTT 准系统

图像

包名描述
sharp超快速的用于调整 JPEG,PNG,WebP 和 TIFF 图像大小的模块
image-type检测 Buffer / Uint8Array 的图像类型
gmGraphicsMagick 和 ImageMagick 的封装
lwip不需要 ImageMagick 的轻量级图像处理器
pica轻量级、高性能的纯 JS 实现的图片尺寸调整器(lanczos3), 当不允许像素化时用 canvas drawImage() 替代
jimp纯 JavaScript 中的图像处理
probe-image-size无需完全下载即可获取大多数图像格式的大小
qrcode二维码和条形码生成器

文本

包名描述
iconv-lite转换字符编码.
string-length获取字符串的真实长度-通过正确计算星号并忽略ansi转义码.
camelcase将破折号/点号/下划线/空格分隔的字符串转换为驼峰式,案例:foo-bar→fooBar.
escape-string-regexp转义RegExp特殊字符.
execall在字符串中查找多个RegExp匹配项.
splice-string移除或替换字符串的一部分Array#splice.
indent-string缩进字符串中的每一行.
strip-indent从字符串的每一行中除去前导空格.
detect-indent检测代码缩进.
heHTML实体编码器/解码器.
i18n-node具有动态JSON存储的简单翻译模块.
babelfishi18n,复数的语法非常简单.
matcher简单通配符匹配.
unhomoglyph规范化视觉上相似的unicode字符.
i18next国际化框架.
nanoid小巧、安全、URL友好、唯一的字符串ID生成器.

数字

包名描述
random-int生成随机整数
random-float生成随机浮点数
unique-random生成连续唯一的随机数
round-to将数字四舍五入到指定的小数位数:1.234 → 1.2
ndarray多维数组
mathjs庞大的数学公式库
math-clamp三个数中取出中间值
algebra代数
multimath使用 WebAssembly 和 JS 创建快速图像数学的核心

日期

包名描述
Luxon用于处理日期和时间的库
date-fns现代日期工具
Moment.js分析、验证、操作和显示日期
Day.jsMoment.js 之外可选的使用 Immutable 的日期库
dateformat日期格式化
tz-format带时区格式化时间: 2015-11-30T10:40:35+01:00
cctz快速解析, 格式化, 和时区转化工具

URL

包名描述
normalize-url规范化 URL
humanize-url可读化 URL: http://sindresorhus.com → sindresorhus.com
url-unshort将短地址还原
speakingurl通过音译从字符串生成子段
linkify-it具有完整 Unicode 支持的链接模式检测器
url-pattern比 regex 字符串更简单的 URLs 和其他字符串的模式匹配
embedza使用 oEmbed、Open Graph、meta 标记中的信息从 url 创建 HTML 片段/嵌入

数据校验

包名描述
joiJavaScript 对象的对象模式描述语言和验证器
is-my-json-valid极速 JSON 格式校验工具
property-validator用于 Express 的属性校验工具
schema-inspectorJSON API 清理和验证
ajv最快的 JSON 概要验证器,支持 v5、v6 和v7 方案
Superstruct简单基础的 JavaScript 和 TypeScript 数据验证器

解析

包名描述
remark插件化的 Markdown 处理器
markdown-it100% 支持 CommonMark、扩展和语法插件的 Markdown 解析器
parse5快速全功能规范兼容的 HTML 解析器
strip-json-commentsJSON 去除注释
strip-css-commentsCSS 去除注释
parse-json有更多错误提示的 JSON 处理工具
URI.jsURL 转化工具
PostCSSCSS 解析、压缩工具
JSONStream流式处理 JSON.parse 和 stringify
csv-parser旨在比其他任何工具都快的流式 CSV 解析器
PEG.js简单的具有出色错误报告功能的语法分析器生成器
x-rayWeb 爬虫工具
nearley简单,快速,强大的 JavaScript 解析器
binary-extract无需解析整个对象就可以从 JSON 缓冲区中提取一个值的工具
Stylecow可扩展插件的,用于解析,操纵和转换现代 CSS 的工具,使其与所有浏览器兼容
js-yaml快速的 YAML 解析器
xml2jsXML 到 JavaScript 对象的转换器
Jison友好的 JavaScript 解析程序生成器. 与 Bison, Yacc 和 family 一样的思路
google-libphonenumber解析、格式化、存储和验证电话号码
ref读/写缓冲区中的结构化二进制数据
xlsx-populate读/写 Excel XLSX
Chevrotain非常快速且功能丰富的 JavaScript 解析程序构建工具包
fast-xml-parser验证和解析 XML

人性化

包名描述
pretty-bytes将字节数转换成可读的字符串: 1337 → 1.34 kB
pretty-ms将毫秒数转化为可读时间字符串: 1337000000 → 15d 11h 23m 20s
ms小巧的毫秒转换工具
pretty-error简化的错误信息
read-art从任何页面提取可读内容

压缩

包名描述
yazl压缩
yauzl解压缩
Archiver流式接口的文件归档工具,支持 ZIP 和 TAR 格式
pakojavascript 的高速 zlib 端口(deflate, inflate, gzip)
tar-stream流式 tar 解析器和生成器,另见tar-fs.
decompress解压模块,支持 tar、tar.gz 和 zip 文件开箱即用

网络

包名描述
get-port获取一个空闲的端口
ipify获取你的公网 IP 地址
getmac获取电脑的 MAC 地址
DHCPDHCP 客户端和服务器
netcat纯 JS 实现的 Netcat 端口

数据库

数据库驱动

包名描述
PostgreSQL使用纯 JavaScript 和原生 libpq 实现的 PostgreSQL 客户端
RedisRedis 客户端
LevelUPLevelDB
MySQLMySQL 客户端
couchdb-nanoCouchDB 客户端
AerospikeAerospike 客户端
CouchbaseCouchbase 客户端
MongoDBMongoDB 驱动

ODM / ORM

包名描述
Sequelize支持 PostgreSQL,SQLite,MySQL 以及更多数据库的 ORM
BookshelfBackbone.js 风格的PostgreSQL,MySQL 和 SQLite3 的 ORM
MassivePostgreSQL 数据访问工具
Mongoose优雅的 MongoDB 对象建模
Waterline与数据存储区无关的工具,可大大简化与一个或多个数据库的交互
OpenRecord类似于 ActiveRecord 的,用于 PostgreSQL,MySQL,SQLite3 和 RESTful 数据存储的 ORM
pg-promise基于 Promise 的使用原生 SQL 的 PostgreSQL框架
slonik具有严格类型,详细日志记录和断言的 PostgreSQL 客户端
Objection.js基于 SQL 查询生成器 Knex 的轻量级 ORM
TypeORM支持 PostgreSQL,MariaDB,MySQL,SQLite 等数据库的 ORM
MikroORMTypeScript 的基于数据映射的 ORM,使用工作单元和身份映射模式,支持 MongoDB,PostgreSQL,MySQL 和 SQLite
PrismaTypeScript 的自动生成类型并且类型安全的查询构建器,可用于替代 ORM 的现代数据库接入方式,支持 PostgreSQL, MySQL 和 SQLite

Query builder

包名描述
Knex旨在灵活,可移植且易于使用的 PostgreSQL,MySQL 和 SQLite3 的查询构建器

其他

包名描述
NeDB用 JavaScript 编写的嵌入式持久化数据库
Lowdb由 Lodash 支持的小型 JavaScript 数据库.
Keyv支持多后端的简单键值存储
Finale基于 Sequelize 模型生成 RESTful 末端
database-js对多种数据库支持的具有类似 JDBC 数据库连接的封装
Mongo Seeding使用 JavaScript 和 JSON 文件填充 MongoDB 数据库
@databases避免 SQL 注入风险的纯 SQL 查询方式,支持 PostgreSQL, MySQL 和 SQLite3

测试

包名描述
AVA面向未来的测试运行程序
Mocha功能丰富的测试框架,使得异步测试简单而又有趣
nyc基于 istanbul 构建的代码覆盖工具,可用于子流程.
tapTAP 测试框架
tapeTAP 生产测试
power-assert通过标准的 assert 接口提供描述性断言消息
Mochify基于 Browserify,Mocha,PhantomJS 和 WebDriver 的测试驱动开发
trevor针对多个版本的 Node.js 运行测试,而无需手动切换版本或推送至 Travis CI
loadtest使用自动化 API 为 Web 应用程序运行负载测试
Sinon.JS测试数据模拟
navitPhantomJS/SlimerJS 封装,用于简化浏览器测试脚本
Nock模拟 HTTP 请求和异常
intern 、 代码测试栈
toxy可追踪的 HTTP 代理,用于模拟故障场景和网络状况
hook-stdstdout/stderr 的钩子和修饰
testen使用 NVM 针对多个版本的 Node.js 运行本地测试
Nightwatch基于 Selenium WebDriver 的自动化 UI 测试框架
WebdriverIO基于 WebDriver 协议的自动化测试
Jest简单的 JavaScript 测试
TestCafe自动化的浏览器测试
abstruse持续集成服务器
CodeceptJS端到端测试
Puppeteer无头 Chrome
Playwright用单一 API 实现 Chromium, WebKit 和 Firefox 内核的无头浏览器
nve在本地多个版本的Node.js上运行任何命令
axe-core自动化 Web UI 测试引擎
testcontainers-node提供轻量级的,即用即停的常规数据库、Web 浏览器或者其他任何可以运行在 Docker 容器里的实例

安全

包名描述
upash为所有密码散列算法提供统一的 API
themis使典型加密方案易于使用的多语言框架:静态数据、已验证的数据交换、传输保护、身份验证等
GuardRails在请求中提供安全反馈的 GitHub 应用程序
rate-limiter-flexible暴力攻击和 DDoS 攻击防御
crypto-hash异步非阻塞哈希
jose-simple使用 JOSE( JSON 对象签名和加密)标准对数据进行加密和解密

基准化分析

包名描述
Benchmark.jsBenchmarking 库,支持高分辨率计数器并且返回有意的统计结果
matcha简化的 Benchmarking 实现方案

代码压缩

包名描述
babili基于 Babel 工具链的 ES2015+ 压缩库
UglifyJS2JavaScript 压缩工具
clean-cssCSS 压缩工具
minimizeHTML 压缩工具
imageminImage 压缩工具

认证

包名描述
Passport简单, 无感的身份验证
Grant支持 Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel以及其他库的权限校验中间件

授权

包名描述
CASLUI 和 API 的同构授权
node-casbin支持访问控制模型(如 ACL、RBAC 和 ABAC )的授权库

电子邮件

包名描述
Nodemailer处理电子邮件的最快方式
emailjs向任何 SMTP 服务器发送带有附件的文本 / HTML 电子邮件
email-templates创建、预览和发送自定义电子邮件
MJML旨在减少创建响应式电子邮件困难的一种标记语言

任务队列

包名描述
bull持续作业和消息队列
agenda基于 MongoDB 的作业调度工具
idoit基于 Redis 的具有高级作业控制的队列引擎
node-resque基于 Redis 的作业队列
rsmq基于 Redis 的消息队列
bee-queue高性能的基于 Redis 的任务队列
RedisSMQ具有实时监控功能的简单高性能 edis 消息队列
sqs-consumer在没有样板文件的情况下构建基于 Amazon 简单队列服务(SQS)的应用程序
better-queue不需要 Redis 的简单高效的作业队列

Node.js 管理

包名描述
nNode.js 版本控制
naveNode.js 虚拟环境
nodeenv与 Python virtualenv 兼容的Node.js 虚拟环境
nvm for WindowsWindows node 版本控制工具
nodenv类似于 Ruby rbenv 的版本管理器,支持自动版本切换

自然语言处理

包名描述
retext一个可扩展的自然语言系统
franc检测文本语言
leven使用 Levenshtein 距离算法检测两个字符串之间的差异
natural自然语言设施
nlp.js构建机器人,具有实体提取、情感分析、自动语言识别等功能

进程管理

包名描述
PM2高级进程管理工具
nodemon监听代码变动并自动重新启动服务器
node-mac将脚本作为 Mac 守护进程运行并把日志输出到控制台
node-linux将脚本作为本机系统服务运行并输出日志到 syslog
node-windows将脚本作为 Windows 服务运行并输出日志到事件查看器
supervisor当脚本崩溃时或者当*.js 文件更改时重新启动脚本
Phusion Passenger直接嵌入 Nginx 的易用的进程管理工具

自动化

包名描述
robotjs桌面自动化:控制鼠标、键盘和阅读屏幕
nut.js集成 Jest 的具有图像匹配的跨平台原生 GUI 自动化 / 测试框架

AST

包名描述
Acorn轻量、快速的 JavaScript 解析器
babel-parser用于 babel 的 JavaScript 解析工具
cherow专注于性能和稳定性的 Javascript 解析器

静态网站生成

包名描述
Wintersmith灵活、简约、多平台的静态站点生成器
Assemble使用 Node.js、Grunt.js 和Yeoman 的静态站点生成器
DocPad具有动态能力和巨大插件生态系统的静态站点生成器
Phenomic基于 React 和 Webpack 生态系统的现代静态网站生成器
docsifyMarkdown 文站点生成器
Charge使用 JSX 和 MDX 的零配置静态站点生成器

内容管理系统

包名描述
KeystoneJS基于 Express 和 MongoDB 的 CMS 和 web 应用平台
ApostropheCMS基于 Express 和 MongoDB 的,强调直观的前端内容编辑和管理的内容管理系统
Strapi用于构建强大 APIs 的内容管理框架(headless-CMS)
Tipe使用 schema 文件构建基于 GraphQL 和 REST API 的面向开发人员的内容管理系统
Factor基于 Vue.js 的仪表盘框架和无头 CMS
AdminBro为你所有的资源自动生成管理员界面

论坛

包名描述
nodeBB面向现代 web 的论坛平台

写博客

包名描述
Ghost简单强大的发布平台
Hexo快速、简单而强大的博客框架

怪诞的

包名描述
cowsASCII cows
superb获取表达 “极好的” 意思的词汇
cat-names获取流行的猫名字
dog-names获取流行的狗名字
superheroes获取超级英雄的名字
supervillains获取超级大反派的名字
cool-ascii-faces获取酷炫的 ascii 颜文字
cat-ascii-faces₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (・o・)ノ”
nerds获取宅男话题的数据,例如哈利波特,星战,宝可梦

序列化

包名描述
snappyGoogle Snappy 压缩库的绑定
protobuf协议缓冲区
compactrCompactr 协议

其他

包名描述
execa比 child_process 更好
cheerio快速, 灵活, 为服务端设计的借鉴了 jQuery 设计的操作工具
Electron使用 Web 技术开发跨平台桌面应用 (You might like awesome-electron)
open打开网站、文件、可执行文件等
hasha使散列变得简单,获取缓冲区/字符串/流/文件的哈希
dot-prop使用 . 路径方式获取一个套嵌对象的属性
onetime执行一次性函数
mem记忆函数——一种优化技术,通过缓存相同输入函数的执行结果来加速连续函数调用
import-fresh调用模块时绕开缓存
strip-bom从字符串 / Buffer / Stream中解除 UTF-8 BOM 问题
os-locale获取系统 locale
ssh2SSH2 客户端和服务端模块
aditSSH 相关工具
import-lazy懒加载一个模块
file-type获得一个 Buffer 的文件类型
Bottleneck速率限制器,使流量控制变得容易
ow函数参数验证
webworker-threads- 使用原生线程的轻量级 Web Worker API
clipboardy访问系统的剪贴板 (复制和粘贴)
node-pre-gyp使从二进制发布安装 Node.js C++ 插件更简单的工具
opencvJavascript 的 OpenCV 封装,计算机图形处理库
dotenv从 .env 文件加载环境变量.
remote-git-tags从 git 远程仓库获取 tags
semver语义版本分析器
Faker.js测试数据批量生成工具 (推荐阅读:《2.8 万 Star!生成虚假内容的神器:faker.js》)
nodegit原生 Node 封装的 Git 工具
json-strictify安全地将值序列化为 JSON ,不丢失数据或进入无限循环
resolve-from从一个给定的路径执行某个模块的 resolve 方法
simplecrawler事件驱动的 web 爬虫程序
jsdomHTML 和 DOM 的 JavaScript 实现
hypernova服务端渲染 JavascSript 视图
@sindresorhus/is检查值和类型是否匹配
env-dot-prop使用 . 路径获取、设置或删除 process.env 的嵌套属性
emittery简单而现代的异步事件发生器
node-video-lib纯 JavaScript 编写的,用于处理 MP4 和 FLV 视频文件并为 HLS 流创建 MPEG-TS 块的视频工具库
basic-ftpFTP/FTPS 客户端
cashify汇率转换
genepi自动从 C++ 代码中生成 Node.js addon
husky创建 Git 钩子脚本
patch-package对 npm 依赖进行修复和保持
editly声明式视频编辑 API

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticjob(2.1.4) failover 、misfire及执行线程池分析

Failover 当设置failover为true时候,elasticjob 集群通过zookeeper 的event watcher 监听是否有instance 丢失,然后对丢失instance 对应的分片进行立即执行。重复一下,failover是立即执行,不是按crontab时间来触发,这…

基于RDF本体模型和图数据库实现知识查询与推理

基于RDF本体模型和图数据库实现知识查询与推理 基于RDF本体模型和图数据库实现知识查询与推理一、案例本体模型解释二、数据构建与查询 Here’s the table of contents: 基于RDF本体模型和图数据库实现知识查询与推理 本文主要使用ONgDB图数据库和Neosemantics组件,…

自建个人音乐播放器Navidrome - 内网穿透实现在外随时访问

文章目录 1. 前言2. Navidrome网站搭建2.1 Navidrome下载和安装2.1.1 安装并添加ffmpeg2.1.2下载并配置Navidrome2.1.3 添加Navidrome到系统服务 2.2. Navidrome网页测试 3. 本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4. 公网访问测试5. 结语 转…

【Android实战开发】flutter实现网络请求的方法示例

Flutter网络请求使用的是Dio。Dio是一个强大易用的dart http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载……. Flutter json数据解析是使用了json_serializable package包。它是一个自动化源代码生成器,可以为我们…

C++快速幂详解例题

基本概念 什么是快速幂呢?个人理解,就是更快速的计算幂运算。 比如计算a^b 刚学这个算法的时候我也很疑惑,幂运算不是有现成的公式么,直接pow(a,b)不就好了吗? 后来才明白,pow(a,b)的…

三分钟了解什么是时序数据库

在介绍时序数据库之前,我们先来看看什么是时序数据。时序数据就是基于时间排序的数据,再通过时间坐标将这些数据连接起来,形成一个折线图,直观地展示一个指标在过去一段时间内的走势和规律,帮助定位数据异常点。 时序…

Oracle中Archived redolog的生成

目录 一、问题预览 二、问题解答 一、问题预览 大家都知道 Oracle 中 online redolog切换后会生成 archived redolog,心里默认的就是 online redolog 切换后 archived redolog 已经生成。切换示意图,如下图所示。 但事实真的是这样吗? 二、…

C++ 23 实用工具(一)

C 23 实用工具(一) 工具函数是非常有价值的工具。它们不仅可以用于特定的领域,还可以应用于任意值和函数,甚至可以创建新的函数并将它们绑定到变量上。 常用函数 你可以使用各种变体的 min、max 和 minmax 函数来对值和初始化列…

【使用ChatGPT自动化】批量转换.xls文件为.xlsx文件

第1次提问: 我:我想使用Python批量转换.xls文件为.xlsx文件,请你提供代码 它: 当涉及到批量处理文件时,我们通常需要使用Python中的os模块和glob模块。os模块用于管理文件和目录,glob模块用于匹配文件路径名…

Visual Studio Code 1.77 发布!

欢迎使用 Visual Studio Code 2023 年3月版。此版本有许多更新,其中一些主要亮点包括: 无障碍改进:新的悬停、通知和 Sticky Scroll 快捷键 复制 GitHub 深度链接:在编辑器内创建永久链接和 HEAD 链接 笔记本保存格式&#xff1…

软件测试流程进阶----四年软件测试总结

工作四年了,我一直希望让自己每年对测试的理解更深入一层。工作一年的时候,我谈轮了自己对各种测试的理解,这一年来,虽然对那些理概念的有所加强,自我感觉没有什么质的变化。前些天听我们公司的一位测试经理讲《敏捷测…

精准抓住核心要点!!!十名面试官总结出这样一份面试通关答案,还不赶紧开始“作弊”通关!!!

金三银四求职季,但最近很多朋友私信说: 熬过了去年的寒冬,却没躲过如今的内卷; 打开Boss直拒,一排已读不回; 大部分回复的都是外包,薪资低于预期,对技术水平要求却远超从前&#x…

大数据和 CRM系统:它们如何帮助中小企业?

作为中小企业主,你可能在想,"大数据与我有什么关系?"但如果你使用某些类型的业务应用,即使预算很少,你也可以从大数据中获益。一个最好的例子是客户关系管理(CRM)系统,它提…

二极管反向恢复过程详细解析

二极管反向恢复过程,现代脉冲电路中大量使用晶体管或二极管作为开关, 或者使用主要是由它们构成的逻辑集成电路。而作为开关应用的二极管主要是利用了它的通(电阻很小)、断(电阻很大) 特性, 即二极管对正向及反向电流表现出的开关作用。二极管和一般开关的不同在于,…

在线帮助中心对企业的作用及解决方案

帮助中心对于一款互联网产品来说,重要性不言而喻。随着公司客户服务水平的不断提高,越来越多的公司逐渐重视客户服务。一个好的在线帮助中心必定能提高客户的转化率。那么,在线帮助中心对企业的帮助和作用有哪些呢? 在线帮助中心的作用 1.快…

3.10——常类型

常类型的引入,就是为了既保证数据共享又防止数据被改动。常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改动的。 常引用 如果在说明引用时用const修饰,则被说明的引用为常引用。如果用常引用作为…

adb环境变量配置

adb环境变量配置Android一. 简介二. 环境变量配置1.JDK安装2.SDK安装3. 资源共享4. 配置环境变量4.1 方式一:4.2 方式二:5. adb常用命令的使用6. 结果Android List of ADB Commands and Fastboot Commands for Android 如果你是一个android用户&#xf…

paddleocr,windows pip 安装巨坑 lanms 库

安装 lanms 最佳参考: paddleocr,windows pip 安装巨坑 lanms 库 防丢失,直接抄录的一份 paddleocr最后几个库一个比一个难装,特别是 lanms 库,巨难装,拒绝任何花里胡哨,十分钟,三步…

HTML5 <menu> 标签

HTML5 <menu> 标签 实例 HTML5 <menu>标签用于定义菜单列表。 两个菜单按钮系列选项实例&#xff08;"File" 和 "Edit"&#xff09;&#xff1a; <menu type"toolbar"> <li> <menu label"File"> &…

Linux-初学者系列——篇幅4_系统运行相关命令

系统运行相关命令-目录一、关机重启注销命令1、重启或者关机命令-shutdown语法格式&#xff1a;常用参数&#xff1a;01 指定多久关闭/重启系统02 指定时间关闭/重启系统03 实现立即关闭/重启系统04 取消关闭/重启系统计划2、重启或者关机命令-halt/poweroff/reboot/systemctl语…