全网最全面的 Node.js 资源汇总推荐,4W Star!

2023-05-26 0 783

全网最全面的 Node.js 资源汇总推荐,4W Star!

作者@前哨君|地址@https://github.com/jobbole/awesome-nodejs-cn

【导读】:Node.js 是一个开源、跨平台的,用于编写服务器和命令行的 JavaScript 运行时工具。

awesome-nodejs 是sindresorhus发起维护的 Node.js 资源列表,内容包括:命令行工具、日志、调试、HTTP、构建工具、文件系统、模板、Web 框架、流程控制、文本、图片和数据校验等。

这个列表堪称最全面的 Node.js 资源汇总,在 GitHub 已接近 4 万 Star。

本项目的参与者

维护者:「开源前哨」和「前端大全」微信公号团队。「开源前哨」会定期在知乎专栏分享最新、有趣和热门的开源项目,每个项目都有详细的介绍和示例。传送门:https://www.zhihu.com/column/c_1317124962785062912贡献者:cooperw991

资源列表

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

资源列表

黑科技

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

命令行程序

np – 更好的 npm publishnpm-name – 检查包名在 npm 上是否可用gh-home – 打开当前目录下项目的 GitHub 主页npm-home – 打开一个包的 npy – 复制文件vtop – 有漂亮图表的更好用的 topempty-trash – 清空文件夹is-up – 检测网站是否可以正常访问is-online – 检测网络连接是否正常public-ip 过时通知你http-server – 简单、零配置的命令行 HTTP 服务器Live Server – 具有热重启功能的开发环境 HTTP 服务器bcat -将命令管道输出到 Web 浏览器normit – 在您的终端中使用语音合成功能进行 Google 翻译fkill – 跨平台的进程强杀命令pjs – 用 JavaScript 实现的快速过滤、映射和累加器的管道命令license-checke当前 wifi 的密码wallpaper – 更换桌面壁纸brightness – 更改屏幕亮度torrent – 下载种子kill-tabs – 关闭所有 Chrome 标签来提升性能、降低功耗以及节省内存占用alex – 捕捉写作中出现的不当表达pen – 用你喜爱的编辑器编写 Markdown,在浏览器中提供实时预览subdownloader – 电影和电视剧的字幕下载器dark-mode – 开关 macOS 暗黑模式iponmap – IP 地址查找器Jsome – 使用自定义颜色和缩进打印漂亮的 JSONitunes-remote – 交互式控制 iTunesmobicon – 移动端应用图标生成器mobisplash – 移动端应用启动页生成器diff2html-cli – 生成漂亮的 HTML 展示 git diff 命令的结果Cash – 用纯 JavaScript 编写的跨平台类 Unix Shelltrymodule – 在终端中使用 npm 软件包jscpd – 源代码重复代码检测atmo – 模拟服务器端 APIauto-install – 编写代码时自动安装依赖lessmd – 终端环境下的 Markdown 预览器cost-of-modules – 查找使性能降低的依赖localtunnel – 向公网开放你的 localhostsvg-term-cli – 基于 SVG 分享终端会话gtop – 终端下的系统监控仪表板themer – 为您的编辑器、终端、壁纸、Slack等生成主题carbon-now-cli – 为你的代码生成精美的图片cash-cli – 170 种货币汇率转换taskbook – 命令行环境下的任务、板块和笔记管理器discharge – 轻松将静态网站部署到 Amazon S3npkill – 轻松查找和删除过时且臃肿的 node_modules 文件夹

函数式编程

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

HTTP

got – 为内置的 http 模块提供更好的接口gh-got – 为 got 和 GitHub API 交互提供更方便的封装axios – 基于 Promise 的 HTTP 客户端(也可以在浏览器中工作)wreck – HTTP 客户端工具.download – 使下载和提取文件变得轻松http-proxy – HTTP 代理superagent – HTTP 请求库node-fetch – Node.js 的window.fetchflashheart – REST 客户端http-fake-backend – 使用 JSON 文件或者 JavaScript 对象 建立一个伪装的可自定义路由的后端服务cacheable-request – 使用符合 RFC 的缓存支持封装原始的 HTTP 请求.gotql – 基于 got 构建的 GraphQL 请求库global-agent – 可以使用环境变量配置的全局 HTTP / HTTPS 代理smoke – 可记录的基于文件的模拟 HTTP 服务

调试 / 分析

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

日志

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

命令行工具

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

构建工具

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 – 读写串口usb – USB 库i2c-bus – I2C 串行总线访问onoff – GPIO 访问和中断检测spi-device – SPI 串行总线访问pigpio – 树莓派上的快速 GPIO、PWM、伺服控制、状态更改通知和中断处理gps – NMEA 解析器,用于处理 GPS 接收

模板

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

Web 框架

Hapi – 用于创建应用和服务的框架Koa – 由 Express 幕后团队设计的框架,旨在为 Web 应用程序和 API 提供更小、更富表现力和更健壮的基础Express – 一个为构建单页、多页以及混合 Web 应用程序提供强大的功能的 Web 应用程序框架Feathers – 受 Express 启发的微服务框架LoopBack – 用于创建 REST API并轻松连接到后端数据源的强大框架Meteor – 一个超简单、位于程序数据库和用户界面之间、保持二者之间数据同步更新的纯 Javascript Web 框架。(你可能会喜欢 awesome-meteor)Restify – 帮助你构建正确的REST Web 服务ThinkJS – 支持 ES2015+ 的WebSockets REST API 框架ActionHero – 用于为 TCP sockets,WebSocket 和 HTTP 客户端创建可重用、可扩展 API 的框架Next.js – 极简化的  JavaScript 服务端渲染框架Nuxt.js – Vue.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-json-file – 读取、解析 JSON 文件write-json-file – 自动将 JSON 序列化写入到文件fs-write-stream-atomic – 类似 fs.createWriteStream() 的原子操作filenamify – 将字符串转换为有效的文件名lnfs – 像 ln -fs 一样,强制创建符号链接istextorbinary – 检查文件是文本还是二进制fs-jetpack – 完全重新设计的、方便日常使用的文件系统 APIfs-extra – 增加额外方法的 fs 模块pkg-dir – 查找 npm 包的根目录fileho

流程控制

Promises更多Bluebird – 致力于创新功能和性能的 Promise 库pify – 将 callback 风格的函数转化为 Promise 风格delay – 延迟执行 Promisepromise-memoize – 拥有过期时间和预加载功能的 Promise 返回值缓存工具valvelet – 限制 Promise 访问频率的工具p-map – 可以使用 Promise 的 Map 方法Observableszen-observable – Observables 的实现RxJS – 响应式编程observable-to-promise – 将 Observable 转换为 Promise更多…StreamsHighland.js – 仅使用标准JavaScript 和类似 Node 的流,即可轻松管理同步和异步代码Callbackseach-async – 异步并发迭代器,如 forEachasync – 提供简单,强大的功能来处理异步问题Channelsjs-csp – 为 JavaScript 提供连续的通信(例如 Clojurescript core.async 或 Go)

文件流

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

实时

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

图像

sharp – 超快速的用于调整 JPEG,PNG,WebP 和 TIFF 图像大小的模块image-type – 检测 Buffer / Uint8Array 的图像类型gm – GraphicsMagick 和 ImageMagick 的封装lwip – 不需要 ImageMagick 的轻量级图像处理器pica – 轻量级、高性能的纯 JS 实现的图片尺寸调整器(lanczos3), 当不允许像素化时用 canvas drawImage() 替代jimp – 纯 JavaScript 中的图像处理probe-image-size –

文本

ansi转义码.camelcase – 将破折号/点号/下划线/空格分隔的字符串转换为驼峰式,案例:foo-bar→fooBar.escape-string-regexp – 转义RegExp特殊字符.execall – 在字符串中查找多个RegExp匹配项.splice-string – 移除或替换字符串的一部分Array#splice.indent-string – 缩进字符串中的每一行.strip-indent – 从字符串的每一行中除去前导空格.detect-indent – 检测代码缩进.he – HTML实体编码器/解码器.i18n-node – 具有动态JSON存储的简单翻译模块.babelfish – i18n,复数的语法非常简单.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.js – Moment.js 之外可选的使用 Immutable 的日期库dateformat – 日期格式化tz-format – 带时区格式化时间: 2015-11-30T10:40:35+01:00cctz – 快速解析, 格式化, 和时区转化工具

URL

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

数据校验

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

解析

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

人性化

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

压缩

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

网络

数据库

数据库驱动PostgreSQL – 使用纯 JavaScript 和原生 libpq 实现的 PostgreSQL 客户端Redis – Redis 客户端LevelUP – LevelDBMySQL – MySQL 客户端couchdb-nano – CouchDB 客户端Aerospike – Aerospike 客户端Couchbase – Couchbase 客户端MongoDB – MongoDB 驱动ODM / ORMSequelize – 支持 PostgreSQL,SQLite,MySQL 以及更多数据库的 ORMBookshelf – Backbone.js 风格的PostgreSQL,MySQL 和 SQLite3 的 ORMMassive – PostgreSQL 数据访问工具Mongoose – 优雅的 MongoDB 对象建模Waterline – 与数据存储区无关的工具,可大大简化与一个或多个数据库的交互OpenRecord – 类似于 ActiveRecord 的,用于 PostgreSQL,MySQL,SQLite3 和 RESTful 数据存储的 ORMpg-promise – 基于 Promise 的使用原生 SQL 的 PostgreSQL框架slonik – 具有严格类型,详细日志记录和断言的 PostgreSQL 客户端Objection.js – 基于 SQL 查询生成器 Knex 的轻量级 ORMTypeORM – 支持 PostgreSQL,MariaDB,MySQL,SQLite 等数据库的 ORMMikroORM – TypeScript 的基于数据映射的 ORM,使用工作单元和身份映射模式,支持 MongoDB,PostgreSQL,MySQL 和 SQLitePrisma – TypeScript 的自动生成类型并且类型安全的查询构建器,可用于替代 ORM 的现代数据库接入方式,支持 PostgreSQL, MySQL 和 SQLiteQuery builderKnex – 旨在灵活,可移植且易于使用的 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 构建的代码覆盖工具,可用于子流程.tap – TAP 测试框架tape – TAP 生产测试power-assert – 通过标准的 assert 接口提供描述性断言消息Mochify – 基于 Browserify,Mocha,PhantomJS 和 WebDriver 的测试驱动开发trevor – 针对多个版本的 Node.js 运行测试,而无需手动切换版本或推送至 Travis CIloadtest – 使用自动化 API 为 Web 应用程序运行负载测试Sinon.JS – 测试数据模拟navit – PhantomJS/SlimerJS 封装,用于简化浏览器测试脚本Nock – 模拟 HTTP 请求和异常intern – 代码测试栈toxy – 可追踪的 HTTP 代理,用于模拟故障场景和网络状况hook-std – stdout/stderr 的钩子和修饰testen – 使用 NVM 针对多个版本的 Node.js 运行本地测试Nightwatch – 基于 Selenium WebDriver 的自动化 UI 测试框架WebdriverIO – 基于 WebDriver 协议的自动化测试Jest – 简单的 JavaScript 测试TestCafe – 自动化的浏览器测试abstruse – 持续集成服务器CodeceptJS – 端到端测试Puppeteer – 无头 ChromePlaywright – 用单一 API 实现 Chromium, WebKit 和 Firefox 内核的无头浏览器nve – 在本地多个版本的Node.js上运行任何命令axe-core – 自动化 Web UI 测试引擎testcontainers-node – 提供轻量级的,即用即停的常规数据库、Web 浏览器或者其他任何可以运行在 Docker 容器里的实例

安全

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

基准化分析

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

代码压缩

babili – 基于 Babel 工具链的 ES2015+ 压缩库UglifyJS2 – JavaScript 压缩工具clean-css – CSS 压缩工具minimize – HTML 压缩工具imagemin – Image 压缩工具

认证

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

授权

CASL – UI 和 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 管理

n – Node.js 版本控制nave – Node.js 虚拟环境nodeenv – 与 Python virtualenv 兼容的Node.js 虚拟环境nvm for Windows – Windows node 版本控制工具nodenv – 类似于 Ruby rbenv 的版本管理器,支持自动版本切换

自然语言处理

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

进程管理

PM2 – 高级进程管理工具nodemon – 监听代码变动并自动重新启动服务器node-mac – 将脚本作为 Mac 守护进程运行并把日志输出到控制台node-linux – 将脚本作为本机系统服务运行并输出日志到 syslognode-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 生态系统的现代静态网站生成器docsify – Markdown 文站点生成器Charge – 使用 JSX 和 MDX 的零配置静态站点生成器

内容管理系统

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

论坛

nodeBB – 面向现代 web 的论坛平台

写博客

Ghost – 简单强大的发布平台Hexo – 快速、简单而强大的博客框架

怪诞的

cows – ASCII cowssuperb

序列化

snappy – Google Snappy 压缩库的绑定protobuf – 协议缓冲区compactr – Compactr 协议

其他

execa – 比 child_process 更好cheerio – 快速, 灵活, 为服务端设计的借鉴了 jQuery 设计的操作工具Electron – 使用 Web 技术开发跨平台桌面应用 (You H 相关工具import-lazy – 懒加载一个模块file-type – 获得一个 Buffer 的文件类型Bottleneck – 速率限制器,使流量控制变得容易ow – 函数参数验证webworker-threads – 使用原生线程的轻量级 Web Worker APIclipboardy – 访问系统的剪贴板 (复制和粘贴)node-pre-gyp – 使从二进制发布安装 Node.js C++ 插件更简单的工具opencv – Javascript 的 OpenCV 封装,计算机图形处理库dotenv – 从 .env 文件加载环境变量.remote-git-tags – 从 g原生 Node 封装的 Git 工具json-strictify – 安全地将值序列化为 JSON ,不丢失数据或进入无限循环resolve-from – 从一个给定的路径执行某个模块的 resolve 方法simplecrawler – 事件驱动的 web 爬虫程序jsdom – HTML 和 DOM 的 JavaScript 实现hypernova – 服务端渲染 JavascSript 视图器node-video-lib – 纯 JavaScript 编写的,用于处理 MP4 和 FLV 视频文件并为 HLS 流创建 MPEG-TS 块的视频工具库basic-ftp – FTP/FTPS 客户端cashify – 汇率转换genepi – 自动从 C++ 代码中生成 Node.js addonhusky – 创建 Git 钩子脚本patch-package – 对 npm 依赖进行修复和保持editly – 声明式视频编辑 API

点个『在看』支持下 全网最全面的 Node.js 资源汇总推荐,4W Star!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务