Node.js

Awesome Node.js


我的开源工作得到了社区的支持

特别感谢:





Doppler
所有环境变量,集中在一处
停止为分散的 API 密钥而苦苦挣扎,将自制工具组合在一起,
并避免访问控制. 保持您的团队和服务器与多普勒同步.

WorkOS
您的应用程序,企业就绪.
只需几行代码即可开始向企业客户销售产品.
在几分钟而不是几个月内添加单点登录(以及更多).

Strapi
Strapi 是领先的开源无头 CMS.
它是 100% JavaScript,完全可定制,开发人员优先.

OSS Capital
OSS Capital 成立于 2018 年,是第一个也是唯一一个专注于风险投资的平台
专门支持早期 COSS(商业开源)初创公司创始人.





我的颜色选择器应用程序在 Product Hunt



Awesome

只需输入node.cool即可转到此处. Twitter 上关注我.


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


你现在可以 discuss Node.js and ask questions 就在这个 repo 中.

Official

Packages

Mad science

  • webtorrent - 适用于 Node.js 和浏览器的流式 Torrent 客户端.
  • peerflix - 流洪流客户端.
  • dat - 数据集的实时复制和版本控制.
  • ipfs - 分布式文件系统,旨在将所有计算设备与相同的文件系统连接起来.
  • stackgl - 开放的 WebGL 软件生态系统,建立在 browserify 和 npm 之上.
  • peerwiki - BitTorrent 上的所有维基百科.
  • peercast - 将洪流视频流式传输到 Chromecast.
  • BitcoinJS - 干净、可读、经过验证的比特币库.
  • Bitcore - 纯粹而强大的比特币库.
  • PDFKit - PDF 生成库.
  • turf - 模块化地理空间处理和分析引擎.
  • webcat - 使用 WebRTC 跨网络的 p2p 管道,使用您的 GitHub 私钥/公钥进行身份验证.
  • NodeOS - 第一个由 npm 驱动的操作系统.
  • YodaOS - 人工智能操作系统.
  • Brain.js - 机器学习框架.
  • Pipcook - 用于创建机器学习管道的前端算法框架.
  • Cytoscape.js - 图论(又名网络)建模和分析.
  • Kadence - Kademlia 分布式哈希表.
  • seedshot - 从您的浏览器共享临时 P2P 屏幕截图.
  • js-git - Git 的 JavaScript 实现.
  • skale - 高性能分布式数据处理引擎.
  • xlsx - 纯 JS Excel 电子表格阅读器和编写器.
  • isomorphic-git - Git 的纯 JavaScript 实现.

Command-line apps

  • np - 更好的 npm 发布.
  • npm-name - 在 npm 上检查包名称的可用性.
  • gh-home - 在当前目录中打开 repo 的 GitHub 页面.
  • npm-home - 打开包的 npm 页面.
  • trash - 更安全的替代rm.
  • speed-test - 测试您的互联网连接速度和 ping.
  • emoj - 从命令行上的文本中查找相关表情符号.
  • pageres - 捕获网站截图.
  • cpy - 复制文件.
  • vtop - 更好的顶部,漂亮的图表.
  • empty-trash - 清空垃圾.
  • is-up - 检查网站是否正常运行.
  • is-online - 检查互联网连接是否正常.
  • public-ip - 获取您的公共 IP 地址.
  • clipboard-cli - 在终端上复制和粘贴.
  • XO - 使用 JavaScript 幸福风格强制执行严格的代码风格.
  • Standard - JavaScript 标准风格——一种风格来统治它们.
  • ESLint - 用于 JavaScript 的可插入 linting 实用程序.
  • dev-time - 获取 GitHub 用户的当前本地时间.
  • David - 告诉您您的包 npm 依赖项何时过时.
  • http-server - 简单的零配置命令行 HTTP 服务器.
  • Live Server - 开发具有 livereload 功能的 HTTP 服务器.
  • bcat - 管道命令输出到网络浏览器.
  • normit - 在您的终端中使用语音合成进行 Google 翻译.
  • fkill - 惊人地杀死进程. 跨平台.
  • pjs - 可管道化的 JavaScript. 从终端快速过滤、映射和减少.
  • license-checker - 检查应用程序依赖项的许可证.
  • browser-run - 在浏览器环境中轻松运行代码.
  • tmpin - 向任何接受文件输入的 CLI 应用程序添加标准输入支持.
  • wifi-password - 获取当前的 wifi 密码.
  • wallpaper - 更改桌面壁纸.
  • brightness - 更改屏幕亮度.
  • torrent - 下载种子.
  • kill-tabs - 杀死所有 Chrome 标签以提高性能、减少电池使用量并节省内存.
  • alex - 抓住不敏感、不体贴的写作.
  • pen - 从您最喜欢的编辑器在浏览器中实时预览 Markdown.
  • subdownloader - 电影和电视剧的字幕下载器.
  • dark-mode - 切换 macOS 黑暗模式.
  • iponmap - IP 位置查找器.
  • Jsome - 使用可配置的颜色和缩进漂亮地打印 JSON.
  • itunes-remote - 交互式控制 iTunes.
  • mobicon - 移动应用程序图标生成器.
  • mobisplash - 移动应用程序启动画面生成器.
  • diff2html-cli - 漂亮的 git diff 到 HTML 生成器.
  • Cash - 纯 JavaScript 中的跨平台 Unix shell 命令.
  • trymodule - 在终端中试用 npm 包.
  • jscpd - 源代码的复制/粘贴检测器.
  • atmo - 服务器端 API 模拟.
  • auto-install - 在您编写代码时自动安装依赖项.
  • lessmd - 终端中的降价.
  • cost-of-modules - 找出哪些依赖项会拖慢您的速度.
  • localtunnel - 向世界公开您的本地主机.
  • svg-term-cli - 通过 SVG 共享终端会话.
  • gtop - 终端的系统监控仪表板.
  • themer - 为您的编辑器、终端、墙纸、Slack 等生成主题.
  • carbon-now-cli - 代码的美丽图像 - 就在您的终端内.
  • cash-cli - 在 170 种货币之间转换.
  • taskbook - 命令行栖息地的任务、板和笔记.
  • discharge - 轻松将静态网站部署到 Amazon S3.
  • npkill - 轻松查找和删除旧的和沉重的 node_modules 文件夹.

Functional programming

  • lodash - 提供一致性、自定义、性能和附加功能的实用程序库. 一个更好更快的 Underscore.js.
  • immutable - 不可变的数据集合.
  • Ramda - 实用程序库,专注于通过自动柯里化和反转参数顺序启用的灵活功能组合. 避免变异数据.
  • Folktale - 用于在 JavaScript 中进行泛型函数式编程的库套件,允许您编写具有更少错误和更多重用性的优雅的模块化应用程序.
  • 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.fetch.
  • flashheart - REST 客户端.
  • http-fake-backend - 通过可配置的路由提供 JSON 文件或 JavaScript 对象的内容来构建假后端.
  • cacheable-request - 使用符合 RFC 标准的缓存支持来包装本机 HTTP 请求.
  • gotql - 建立在 GraphQL 请求库之上 got.
  • global-agent - 可使用环境变量配置的全局 HTTP/HTTPS 代理.
  • smoke - 具有记录功能的基于文件的 HTTP 模拟服务器.

Debugging / Profiling

  • ndb - 改进的调试体验,由 Chrome DevTools 启用.
  • ironNode - 开箱即用的支持 ES2015 的 Node.js 调试器.
  • node-inspector - 基于 Blink Developer Tools 的调试器.
  • debug - 微小的调试工具.
  • why-is-node-running - Node.js 正在运行,但你不知道为什么?
  • njsTrace - 检测和跟踪您的代码,查看所有函数调用、参数、返回值以及在每个函数中花费的时间.
  • vstream - 可检测的流混合来检查流管道.
  • stackman - 使用代码摘录和其他好东西增强错误堆栈跟踪.
  • locus - 在运行时启动一个可以访问所有变量的 REPL.
  • 0x - 火焰图分析.
  • ctrace - 格式良好且经过改进的跟踪系统调用和信号.
  • leakage - 编写内存泄漏测试.
  • llnode - 事后分析工具,可让您检查对象并从崩溃的 Node.js 进程中获取见解.
  • thetool - 以 Chrome DevTools 友好格式为您的应用程序捕获不同的 CPU、内存和其他配置文件.
  • swagger-stats - 跟踪 API 调用并监控 API 性能、运行状况和使用指标.
  • NiM - 管理 DevTools 调试工作流程.

Logging

  • pino - 受 Bunyan 启发的极快记录器.
  • winston - 多传输异步日志库.
  • console-log-level - 可以想象到的最简单的记录器,支持日志级别和自定义前缀.
  • storyboard - 端到端、分层、实时、丰富多彩的日志和故事.
  • signale - 控制台记录器.
  • consola - 控制台记录器.

Command-line utilities

  • chalk - 终端字符串样式做得对.
  • meow - CLI 应用助手.
  • yargs - 自动生成优雅用户界面的命令行解析器.
  • ora - 优雅的终端旋转器.
  • get-stdin - 更简单的标准输入.
  • log-update - 通过覆盖终端中的先前输出来记录. 用于渲染进度条、动画等.
  • Ink - 响应交互式命令行应用程序.
  • listr - 终端任务列表.
  • conf - 对您的应用程序或模块进行简单的配置处理.
  • ansi-escapes - 用于操作终端的 ANSI 转义码.
  • log-symbols - 各种日志级别的彩色符号.
  • figures - 带有 Windows CMD 回退的 Unicode 符号.
  • boxen - 在终端中创建框.
  • terminal-link - 在终端中创建可点击的链接.
  • terminal-image - 在终端中显示图像.
  • string-width - 获取字符串的视觉宽度 - 显示它所需的列数.
  • cli-truncate - 在终端中将字符串截断为特定宽度.
  • first-run - 检查该进程是否是第一次运行.
  • blessed - 类似诅咒的图书馆.
  • Inquirer.js - 交互式命令行提示.
  • yn - 解析是/否类似的值.
  • cli-table3 - 漂亮的 unicode 表.
  • drawille - 使用 unicode 盲文字符在终端上绘图.
  • update-notifier - 更新您的 CLI 应用程序的通知.
  • ascii-charts - 终端中的 ASCII 条形图.
  • progress - 灵活的 ascii 进度条.
  • insight - 通过向 Google Analytics 匿名报告使用指标,帮助您了解您的工具的使用情况.
  • cli-cursor - 切换 CLI 光标.
  • columnify - 创建适合控制台输出的基于文本的列. 支持单元格包装.
  • cli-columns - 分列的 unicode 和 ansi 安全文本列表.
  • cfonts - 控制台的性感 ASCII 字体.
  • multispinner - 多个、同时、可单独控制的 CLI 微调器.
  • omelette - 外壳自动完成助手.
  • cross-env - 跨平台设置环境变量.
  • shelljs - 便携式 Unix shell 命令.
  • sudo-block - 阻止用户使用 root 权限运行您的应用程序.
  • loud-rejection - 让未处理的承诺拒绝大声失败,而不是默认的静默失败.
  • sparkly - 生成迷你图▂▃▅▂▇.
  • Bit - 创建、维护、查找和使用跨存储库的小模块和组件.
  • gradient-string - 终端输出中的美丽颜色渐变.
  • oclif - 带有解析器、自动文档、测试和插件的 CLI 框架.
  • term-size - 可靠地获取终端窗口大小.
  • Cliffy - 交互式 CLI 的框架.

Build tools

  • parcel - 快速、零配置的 Web 应用程序捆绑器.
  • webpack - 为浏览器打包模块和资产.
  • rollup - 下一代 ES2015 模块打包器.
  • gulp - 流和快速构建系统,有利于代码而不是配置.
  • Broccoli - 快速、可靠的资产管道,支持恒定时间重建和紧凑的构建定义.
  • Brunch - 前端 Web 应用程序构建工具,具有简单的声明性配置、快速增量编译和自以为是的工作流程.
  • Start - 具有可共享预设的功能性任务运行器.
  • ygor - 当 npm run 不够用而其他一切都太多时,有希望的任务运行器.
  • FuseBox - 结合了 webpack、JSPM 和 SystemJS 的强大功能的快速构建系统,具有一流的 TypeScript 支持.
  • pkg - 将您的 Node.js 项目打包成可执行文件.

Hardware

  • johnny-five - 基于 Firmata 的 Arduino 框架.
  • serialport - 访问串行端口进行读写.
  • usb - USB 库.
  • i2c-bus - I2C 串行总线访问.
  • onoff - GPIO 访问和中断检测.
  • spi-device - SPI 串行总线访问.
  • pigpio - Raspberry Pi 上的快速 GPIO、PWM、伺服控制、状态更改通知和中断处理.
  • gps - 用于处理 GPS 接收器的 NMEA 解析器.

Templating

  • marko - 基于 HTML 的模板引擎,可将模板编译为 CommonJS 模块并支持流、异步渲染和自定义标签.
  • nunjucks - 具有继承、异步控制等功能的模板引擎(受 jinja2 启发).
  • handlebars.js - Mustache 模板的超集,它添加了强大的功能,如助手和更高级的块.
  • EJS - 简单的、无偏见的模板语言.
  • Pug - 深受Haml影响的高性能模板引擎.

Web frameworks

  • 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 套接字、WebSockets 和 HTTP 客户端制作可重用和可扩展的 API 的框架.
  • Next.js - 服务器渲染的通用 JavaScript Web 应用程序的简约框架.
  • Nuxt.js - 服务器渲染的 Vue.js 应用程序的简约框架.
  • seneca - 用于编写微服务的工具包.
  • AdonisJs - 一个真正的 Node.js MVC 框架,建立在依赖注入和 IoC 容器的坚实基础之上.
  • Hemera - 编写可靠且容错的微服务 NATS.
  • Micro - 采用异步方法的简约微服务框架.
  • Moleculer - 快速而强大的微服务框架.
  • Fastify - 快速和低开销的网络框架.
  • Nest - 受 Angular 启发的框架,用于构建高效且可扩展的服务器端应用程序.
  • Zeronode - 用于可靠和容错微服务的最小构建块.
  • TypeGraphQL - 使用类和装饰器使用 TypeScript 创建 GraphQL API 的现代框架.
  • Tinyhttp - 现代且快速的类似 Express 的 Web 框架.
  • Marble.js - 基于 TypeScript 和 RxJS 的用于构建服务器端应用程序的功能反应框架.

Documentation

  • documentation.js - API 文档生成器,支持 ES2015+ 和流注释.
  • ESDoc - 针对 ES2015 的文档生成器,附加测试代码并测量文档覆盖率.
  • Docco - 文档生成器,它生成一个 HTML 文档,显示与您的代码混合的注释.
  • JSDoc - 类似于 JavaDoc 或 PHPDoc 的 API 文档生成器.
  • Docusaurus - 利用 React 和 Markdown 的文档网站生成器,并带有翻译和版本控制功能.

Filesystem

  • del - 使用 glob 删除文件/文件夹.
  • globby - 支持多种模式的 Glob 文件.
  • cpy - 复制文件.
  • rimraf - 递归删除文件,如rm -rf.
  • make-dir - 递归创建目录,如mkdir -p.
  • graceful-fs - 直接替换 fs 模块并进行了各种改进.
  • chokidar - 文件系统观察器稳定来自fs.watchfs.watchFile 的事件,以及在macOS 上使用原生fsevents.
  • find-up - 通过遍历父目录查找文件.
  • proper-lockfile - 进程间和机器间锁定文件实用程序.
  • load-json-file - 读取并解析 JSON 文件.
  • 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 - 获取随机临时文件或目录路径.

Control flow

  • 承诺
    • Bluebird - Promise 库,专注于创新功能和性能.
    • pify - 承诺回调式函数.
    • delay - Delay a promise a specified amount of time.
    • promise-memoize - 记忆承诺返回函数,带过期和预取.
    • valvelet - 限制承诺返回函数的执行率.
    • p-map - 同时映射承诺.
    • More…
  • 可观察
    • Highland.js - 使用标准 JavaScript 和 Node-like Streams 轻松管理同步和异步代码.
  • 回调
    • each-async - 像 forEach 这样的异步并发迭代器.
    • async - 为处理异步性提供直接、强大的功能.
  • 频道
    • js-csp - 为 JavaScript 通信顺序进程(如 Clojurescript core.async 或 Go).

Streams

  • through2 - 围绕流 2 转换的微小包装器,以避免显式子类化噪声.
  • from2 - ReadableStream 的便捷包装器,灵感来自 through2.
  • get-stream - 以字符串或缓冲区的形式获取流.
  • into-stream - 将缓冲区/字符串/数组/对象转换为流.
  • duplexify - 将可写和可读的流转换为单个流 2 双工流.
  • pumpify - 将一系列流组合成一个双工流.
  • peek-stream - 转换流,让您在决定如何解析它之前先查看第一行.
  • binary-split - 换行符(或任何分隔符)拆分器流.
  • byline - 超级简单的逐行流阅读器.
  • first-chunk-stream - 转换流中的第一个块.
  • pad-stream - 填充流中的每一行.
  • multistream - 将多个流合并为一个流.
  • stream-combiner2 - 将管道变成单个流.
  • readable-stream - 核心中 Streams2 和 Streams3 实现的镜像.
  • through2-concurrent - 同时转换对象流.

Real-time

  • µWebSockets - 高度可扩展的 WebSocket 服务器和客户端库.
  • Socket.io - 启用实时双向基于事件的通信.
  • Faye - 基于 Bayeux 协议的实时客户端-服务器消息总线.
  • SocketCluster - 可在多个 CPU 内核上运行的可扩展 HTTP + WebSocket 引擎.
  • Primus - An abstraction layer for real-time frameworks to prevent module lock-in.
  • deepstream.io - 可扩展的实时微服务框架.
  • Kalm - 低级套接字路由器和中间件框架.
  • MQTT.js - MQTT 客户端 - 基于 Pub-sub 的消息传递协议,用于在 TCP/IP 之上使用.
  • rpc-websockets - 基于 WebSockets 的 JSON-RPC 2.0 实现.
  • Aedes - 可以在任何流服务器上运行的准系统 MQTT 服务器.

Image

  • sharp - 调整 JPEG、PNG、WebP 和 TIFF 图像大小的最快模块.
  • image-type - 检测 Buffer/Uint8Array 的图像类型.
  • gm - GraphicsMagick 和 ImageMagick 包装器.
  • lwip - 不需要 ImageMagick 的轻量级图像处理器.
  • pica - 纯 JS 中的高质量和快速调整大小 (lanczos3). 当不允许像素化时,替代画布 drawImage().
  • jimp - 纯 JavaScript 中的图像处理.
  • probe-image-size - 无需完整下载即可获取大多数图像格式的大小.
  • qrcode - 二维码和条形码生成器.

Text

  • iconv-lite - 转换字符编码.
  • string-length - 获取字符串的实际长度 - 通过正确计算星体符号并忽略 ansi 转义码.
  • camelcase - 将破折号/点/下划线/空格分隔的字符串转换为驼峰式:foo-bar → fooBar.
  • escape-string-regexp - 转义 RegExp 特殊字符.
  • execall - 在字符串中查找多个 RegExp 匹配项.
  • splice-string - Remove or replace part of a string like Array#splice.
  • indent-string - 缩进字符串中的每一行.
  • strip-indent - 去除字符串中每一行的前导空格.
  • detect-indent - 检测代码的缩进.
  • he - HTML 实体编码器/解码器.
  • i18n-node - 具有动态 JSON 存储的简单翻译模块.
  • babelfish - i18n 具有非常简单的复数语法.
  • matcher - 简单的通配符匹配.
  • unhomoglyph - 标准化视觉上相似的 unicode 字符.
  • i18next - Internationalization framework.
  • nanoid - 小巧、安全、URL 友好、唯一的字符串 ID 生成器.
  • StegCloak - 隐藏字符串中的秘密,一目了然.

Number

Math

Date

  • Luxon - 用于处理日期和时间的库.
  • date-fns - 现代日期实用程序.
  • Moment.js - 解析、验证、操作和显示日期.
  • Day.js - 替代 Moment.js 的不可变日期库.
  • dateformat - 日期格式.
  • tz-format - Format a date with timezone: 2015-11-30T10:40:35+01:00.
  • cctz - 日期的快速解析、格式化和时区对话.

URL

Data validation

  • joi - JavaScript 对象的对象模式描述语言和验证器.
  • is-my-json-valid - 使用代码生成速度极快的 JSON 模式验证器.
  • property-validator - Express 的简单属性验证.
  • schema-inspector - JSON API 清理和验证.
  • ajv - 最快的 JSON 模式验证器. 支持 v5、v6 和 v7 提案.
  • Superstruct - 在 JavaScript(和 TypeScript)中验证数据的简单且可组合的方法.

Parsing

  • 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 和 stringify.
  • neat-csv - 快速 CSV 解析器. 上面的回调接口.
  • csv-parser - 旨在比其他人更快的流式 CSV 解析器.
  • PEG.js - 简单的解析器生成器,可生成具有出色错误报告的快速解析器.
  • x-ray - 网页抓取工具.
  • nearley - 简单、快速、强大的 JavaScript 解析.
  • binary-extract - 从 JSON 缓冲区中提取一个值而不解析整个内容.
  • Stylecow - 解析、操作和转换现代 CSS 以使其与所有浏览器兼容. 可通过插件扩展.
  • js-yaml - 非常快的 YAML 解析器.
  • xml2js - XML 到 JavaScript 对象转换器.
  • Jison - 友好的 JavaScript 解析器生成器. 它与 Bison、Yacc 和家族共享基因.
  • google-libphonenumber - 解析、格式化、存储和验证电话号码.
  • ref - 读取/写入缓冲区中的结构化二进制数据.
  • xlsx-populate - 读/写 Excel XLSX.
  • Chevrotain - 非常快速且功能丰富的 JavaScript 解析器构建工具包.
  • fast-xml-parser - 验证和解析 XML.

Humanize

  • pretty-bytes - 将字节转换为人类可读的字符串:13371.34 kB.
  • pretty-ms - 将毫秒转换为人类可读的字符串:133700000015d 11h 23m 20s.
  • ms - 微小的毫秒转换实用程序.
  • pretty-error - 错误较少混乱.
  • read-art - 从任何页面中提取可读内容.

Compression

  • yazl - 压缩.
  • yauzl - 解压缩.
  • Archiver - 用于存档生成的流接口,支持 ZIP 和 TAR.
  • pako - 高速 zlib 端口到纯 js(放气、充气、gzip).
  • tar-stream - 流式焦油解析器和生成器. 另见 tar-fs.
  • decompress - 解压模块支持开箱即用的tartar.gzzip文件.

Network

  • get-port - 获取可用端口.
  • ipify - 获取您的公共 IP 地址.
  • getmac - 获取计算机 MAC 地址.
  • DHCP - DHCP 客户端和服务器.
  • netcat - 纯 JS 中的 Netcat 端口.

Database

  • 驱动程序
  • ODM / ORM
    • Sequelize - 多方言 ORM. 支持 PostgreSQL、SQLite、MySQL 等.
    • Bookshelf - PostgreSQL、MySQL 和 SQLite3 的 ORM,采用 Backbone.js 风格.
    • Massive - PostgreSQL 数据访问工具.
    • Mongoose - 优雅的 MongoDB 对象建模.
    • Waterline - 与数据存储无关的工具,可显着简化与一个或多个数据库的交互.
    • OpenRecord - 用于 PostgreSQL、MySQL、SQLite3 和 RESTful 数据存储的 ORM. 类似于 ActiveRecord.
    • pg-promise - 使用承诺的原生 SQL PostgreSQL 框架.
    • slonik - 具有严格类型、详细日志记录和断言的 PostgreSQL 客户端.
    • Objection.js - 基于 SQL 查询构建器 Knex 构建的轻量级 ORM.
    • TypeORM - 用于 PostgreSQL、MariaDB、MySQL、SQLite 等的 ORM.
    • MikroORM - 基于数据映射器、工作单元和身份映射模式的 TypeScript ORM. 支持 MongoDB、PostgreSQL、MySQL 和 SQLite.
    • Prisma - 现代数据库访问(ORM 替代方案). TypeScript 中自动生成和类型安全的查询构建器. 支持 PostgreSQL、MySQL 和 SQLite.
  • 查询生成器
    • Knex - 用于 PostgreSQL、MySQL 和 SQLite3 的查询构建器,旨在灵活、便携且使用有趣.
  • 其他
    • NeDB - 用 Ja​​vaScript 编写的嵌入式持久数据库.
    • Lowdb - 由 Lodash 提供支持的小型 JavaScript 数据库.
    • Keyv - 简单的键值存储,支持多个后端.
    • Finale - 用于 Sequelize 模型的 RESTful 端点生成器.
    • database-js - 具有类似 JDBC 连接的多个数据库的包装器.
    • Mongo Seeding - 使用 JavaScript 和 JSON 文件填充 MongoDB 数据库.
    • @databases - 使用普通 SQL 查询 PostgreSQL、MySQL 和 SQLite3,而不会冒 SQL 注入的风险.
    • pg-mem - 用于测试的内存 PostgreSQL 实例.

Testing

  • AVA - 未来派测试运行器.
  • Mocha - 功能丰富的测试框架使异步测试变得简单而有趣.
  • nyc - 基于伊斯坦布尔的代码覆盖工具,可与子流程一起使用.
  • tap - TAP 测试框架.
  • tape - TAP 生产测试工具.
  • power-assert - 通过标准断言接口提供描述性断言消息.
  • Mochify - 带有 Browserify、Mocha、PhantomJS 和 WebDriver 的 TDD.
  • trevor - 针对多个版本的 Node.js 运行测试,无需手动切换版本或推送到 Travis CI.
  • loadtest - 使用自动化 API 为您的 Web 应用程序运行负载测试.
  • Sinon.JS - 测试间谍、存根和模拟.
  • navit - PhantomJS / SlimerJS 包装器以简化浏览器测试脚本.
  • Nock - HTTP 嘲讽和期望.
  • intern - 代码测试堆栈.
  • toxy - 可破解的 HTTP 代理以模拟故障场景和网络条件.
  • hook-std - 挂钩和修改标准输出/标准错误.
  • testen - 使用 NVM 在本地运行多个版本的 Node.js 测试.
  • Nightwatch - 基于 Selenium WebDriver 的自动化 UI 测试框架.
  • WebdriverIO - 基于 WebDriver 协议的自动化测试.
  • Jest - 无痛的 JavaScript 测试.
  • TestCafe - 自动化浏览器测试.
  • abstruse - 持续集成服务器.
  • CodeceptJS - 端到端测试.
  • Puppeteer - 无头铬.
  • Playwright - Headless Chromium、WebKit 和 Firefox,具有单个 API.
  • nve - 在本地运行多个版本的 Node.js 上的任何命令.
  • axe-core - 用于自动化 Web UI 测试的可访问性引擎.
  • testcontainers-node - 提供通用数据库、Selenium Web 浏览器或任何其他可以在 Docker 容器中运行的轻量级、一次性实例.

Security

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

Benchmarking

  • Benchmark.js - 支持高分辨率计时器并返回具有统计意义的结果的基准测试库.
  • matcha - 基准测试的简单方法.

Minifiers

Authentication

  • Passport - 简单、不显眼的身份验证.
  • Grant - Express、Koa、Hapi、Fastify、AWS Lambda、Azure、Google Cloud、Vercel 等的 OAuth 提供商.

Authorization

  • CASL - UI 和 API 的同构授权.
  • node-casbin - 支持ACL、RBAC和ABAC等访问控制模型的授权库.

Email

  • Nodemailer - 处理电子邮件的最快方式.
  • emailjs - 将带有附件的文本/HTML 电子邮件发送到任何 SMTP 服务器.
  • email-templates - 创建、预览和发送自定义电子邮件模板.
  • MJML - 旨在减少创建响应式电子邮件的痛苦的标记语言.

Job queues

  • bull - 持久作业和消息队列.
  • agenda - MongoDB 支持的作业调度.
  • idoit - 具有高级作业控制的 Redis 支持的作业队列引擎.
  • node-resque - Redis 支持的作业队列.
  • rsmq - Redis 支持的消息队列.
  • bee-queue - 高性能 Redis 支持的作业队列.
  • RedisSMQ - 简单的高性能Redis消息队列,实时监控.
  • sqs-consumer - 无需样板即可构建基于 Amazon Simple Queue Service (SQS) 的应用程序.
  • better-queue - 当您无法使用 Redis 时,简单高效的作业队列.

Node.js management

  • n - Node.js 版本管理.
  • nave - Node.js 的虚拟环境.
  • nodeenv - Node.js 虚拟环境兼容 Python 的 virtualenv.
  • nvm for Windows - Windows 版本管理.
  • nodenv - 类似于 Ruby 的 rbenv 的版本管理器. 支持自动版本切换.
  • fnm - 在 Rust 中构建的跨平台 Node.js 版本管理器.

Natural language processing

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

Process management

  • PM2 - 高级流程管理器.
  • nodemon - 监视应用程序中的更改并自动重新启动服务器.
  • node-mac - 作为本机 Mac 守护程序运行脚本并登录到控制台应用程序.
  • node-linux - 将脚本作为本机系统服务运行并记录到系统日志.
  • node-windows - 作为本机 Windows 服务运行脚本并登录到事件查看器.
  • supervisor - 脚本崩溃时重新启动脚本,或在 *.js 文件更改时重新启动.
  • Phusion Passenger - 友好的进程管理器,直接集成到 Nginx 中.

Automation

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

AST

  • Acorn - 小巧、快速的 JavaScript 解析器.
  • babel-parser - Babel 中使用的 JavaScript 解析器.
  • cherow - 专注于性能和稳定性的 JavaScript 解析器.

Static site generators

  • Wintersmith - 灵活、简约、多平台的静态站点生成器.
  • Assemble - Node.js、Grunt.js 和 Yeoman 的静态站点生成器.
  • DocPad - 具有动态能力和庞大的插件生态系统的静态站点生成器.
  • Phenomic - 基于 React 和 Webpack 生态系统的现代静态网站生成器.
  • docsify - 没有静态构建的 HTML 文件的 Markdown 文档站点生成器.
  • Charge - 使用 JSX 和 MDX 的有意见的、零配置的静态站点生成器.

  • KeystoneJS - 基于 Express 和 MongoDB 的 CMS 和 Web 应用程序平台.

  • ApostropheCMS - 内容管理系统,强调基于 Express 和 MongoDB 的直观前端内容编辑和管理.
  • Strapi - 用于构建强大 API 的内容管理框架(无头 CMS).
  • Tipe - 开发人员优先的内容管理系统,带有来自架构文件的 GraphQL 和 REST API.
  • Factor - Vue.js 仪表板框架和无头 CMS.
  • AdminBro - 为您的所有资源自动生成带有 CRUD 的管理面板.

Forum

  • nodeBB - 现代网络论坛平台.

Blogging

  • Ghost - 简单、强大的发布平台.
  • Hexo - 快速、简单和强大的博客框架.

Weird

  • cows - ASCII 奶牛.
  • superb - 获得极好的词.
  • cat-names - 获取流行的猫名.
  • dog-names - 获取流行的狗名.
  • superheroes - 获取超级英雄的名字.
  • supervillains - 获取超级恶棍的名字.
  • cool-ascii-faces - 获取一些很酷的 ascii 面孔.
  • cat-ascii-faces --₍˄ · ͈ ༝ · ͈˄₎◞ ̑̑ෆ⃛ (= ↀωↀ =) ✧ (^ ・ o ・ ^) ノ ”.
  • nerds - 从哈利波特、星球大战和神奇宝贝等书呆子主题中获取数据.

Serialization

  • snappy - Google 的 Snappy 压缩库的本机绑定.
  • protobuf - 协议缓冲区的实现.
  • compactr - Compactr 协议的实现.

Miscellaneous

  • execa - 更好的child_process.
  • cheerio - 专为服务器设计的核心 jQuery 的快速、灵活和精益实现.
  • Electron - 使用网络技术构建跨平台桌面应用程序. (你可能会喜欢 awesome-electron)
  • open - 打开网站、文件、可执行文件等内容.
  • hasha - 散列变得简单. 获取缓冲区/字符串/流/文件的哈希值.
  • dot-prop - 使用点路径从嵌套对象中获取属性.
  • onetime - 只运行一次函数.
  • mem - 记忆函数 - 一种优化技术,用于通过缓存具有相同输入的调用结果来加速连续函数调用.
  • import-fresh - 绕过缓存导入模块.
  • strip-bom - 从字符串/缓冲区/流中去除 UTF-8 字节顺序标记 (BOM).
  • os-locale - 获取系统区域设置.
  • ssh2 - SSH2 客户端和服务器模块.
  • adit - SSH 隧道变得简单.
  • import-lazy - 懒惰地导入模块.
  • file-type - 检测缓冲区的文件类型.
  • Bottleneck - 使节流变得容易的速率限制器.
  • ow - 人类的函数参数验证.
  • webworker-threads - 带有本机线程的轻量级 Web Worker API 实现.
  • clipboardy - 访问系统剪贴板(复制/粘贴).
  • node-pre-gyp - 使从二进制文件发布和安装 Node.js C++ 插件变得容易.
  • opencv - OpenCV 的绑定. 事实上的计算机视觉库.
  • dotenv - 从 .env 文件加载环境变量.
  • remote-git-tags - 从远程 git 仓库获取标签.
  • semver - 语义版本解析器.
  • Faker.js - 生成大量虚假数据.
  • nodegit - 与 Git 的本机绑定.
  • json-strictify - 安全地将值序列化为 JSON,不会丢失数据或进入无限循环.
  • resolve-from - 解析模块的路径,如require.resolve(),但从给定的路径.
  • simplecrawler - 事件驱动的网络爬虫.
  • jsdom - HTML 和 DOM 的 JavaScript 实现.
  • hypernova - 服务器端呈现您的 JavaScript 视图.
  • @sindresorhus/is - 键入检查值.
  • env-dot-prop - 使用点路径获取、设置或删除 process.env 的嵌套属性.
  • emittery - 简单而现代的异步事件发射器.
  • node-video-lib - 用于处理 MP4 和 FLV 视频文件并为 HLS 流创建 MPEG-TS 块的纯 JavaScript 库.
  • basic-ftp – FTP/FTPS 客户端.
  • cashify - 货币转换.
  • genepi - 从 C++ 代码自动生成原生 Node.js 插件.
  • husky - 创建 Git 钩子脚本.
  • patch-package - 修复并保留对 npm 依赖项的修复.
  • editly - 声明性视频编辑 API.

Resources

Tutorials

Discovery

Articles

Newsletters

Videos

Books

Blogs

  • Node.js blog
  • webapplog.com - 来自 Practical Node.js 和 Pro Express.js Azat Mardan 的作者关于 Node.js 和 JavaScript 的博客文章.

Courses

Cheatsheets

Tools

  • OctoLinker - Chrome 扩展程序,用于链接 GitHub 上 package.json、.js、.jsx、.coffee 和 .md 文件中的依赖项.
  • npm-hub - Chrome 扩展程序可在存储库自述文件的底部显示 npm 依赖项.
  • RunKit - 在任何网站上嵌入 Node.js 环境.
  • github-npm-stats - 在 GitHub 上显示 npm 下载统计信息的 Chrome 扩展程序.
  • npm semver calculator - 直观地探索 semver 范围匹配的软件包版本.
  • CodeSandbox - 在线 IDE 和原型设计.

Community

Miscellaneous