600 多个面向开发人员的 Node.js 资源:您需要的指南、库和工具

**创建者**:0x1da49

探索我收藏的创新资源:

  • 0x3d-@0x3d_site
  • 0x4c——@0x4c-任务
  • 0x5a
  • 0x6g
  • 0x7b
  • 0x8h
  • 新宇宙
  • Gittech-@gittech
  • 内容

  • 官方的
  • 软件包 疯狂科学 命令行应用 函数式编程 HTTP 调试 / 分析 日志记录 命令行实用程序 构建工具 硬件 模板 Web 框架 文档 文件系统 控制流 流 实时 图像 文本 数字 数学 日期 URL 数据验证 解析 人性化 压缩 网络 数据库 测试 安全 基准测试 压缩器 身份验证 授权 电子邮件 作业队列 Node.js 管理 跨平台集成 自然语言处理 流程管理 自动化 AST 静态站点生成器 内容管理系统 论坛 博客 怪异 序列化 杂项
  • 包管理器
  • 资源教程探索文章时事通讯视频书籍博客课程速查表工具社区其他
  • 相关列表
  • 官方的

  • 网站
  • 文档
  • 存储库
  • 套餐

    疯狂科学

  • webtorrent - Node.js 和浏览器的流媒体 torrent 客户端。
  • peerflix——流媒体种子客户端。
  • ipfs - 分布式文件系统,旨在将所有计算设备与相同的文件系统连接起来。
  • stackgl - 基于 browserify 和 npm 构建的 WebGL 开放软件生态系统。
  • peerwiki——BitTorrent 上的全部维基百科。
  • peercast-将 torrent 视频流式传输到 Chromecast。
  • BitcoinJS - 干净、可读、经过验证的比特币库。
  • Bitcore - 纯粹而强大的比特币库。
  • PDFKit -PDF 生成库.
  • turf - 模块化地理空间处理和分析引擎。
  • webcat - 使用 WebRTC 在网络上进行 p2p 管道,使用您的 GitHub 私钥/公钥进行身份验证。
  • NodeOS——第一个由 npm 提供支持的操作系统。
  • YodaOS——AI操作系统。
  • Brain.js - 机器学习框架。
  • Pipcook——用于创建机器学习管道的前端算法框架。
  • Cytoscape.js——图论(又名网络)建模和分析。
  • js-git——Git 的 JavaScript 实现。
  • xlsx - 纯 JS Excel 电子表格阅读器和写入器。
  • isomorphic-git——Git 的纯 JavaScript 实现。
  • 命令行应用程序

  • np——更好的 npm 发布。
  • npm-name - 检查 npm 上包名称的可用性。
  • gh-home-打开当前目录中的 repo 的 GitHub 页面。
  • npm-home——打开包的 npm 页面。
  • trash - rm 的更安全替代品。
  • 速度测试 - 测试您的互联网连接速度和 ping。
  • pageres-捕获网站截图。
  • cpy——复制文件。
  • vtop – 更出色的顶部,带有漂亮的图表。
  • 清空垃圾桶-清空垃圾桶。
  • is-up - 检查网站是否正常运行或关闭。
  • is-online-检查互联网连接是否正常。
  • public-ip-获取您的公共 IP 地址。
  • clipboard-cli-在终端上复制并粘贴。
  • XO - 使用 JavaScript 幸福风格强制执行严格的代码风格。
  • ESLint——可插入的 JavaScript linting 实用程序。
  • David——告诉您软件包 npm 依赖项何时过期。
  • http-server - 简单、零配置的命令行 HTTP 服务器。
  • Live Server - Development HTTP-server with livereload capability.
  • bcat - Pipe command output to web browsers.
  • normit - Google Translate with speech synthesis in your terminal.
  • fkill - Fabulously kill processes. Cross-platform.
  • pjs - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.
  • license-checker - Check licenses of your app's dependencies.
  • browser-run - Easily run code in a browser environment.
  • tmpin - Adds stdin support to any CLI app that accepts file input.
  • wallpaper - Change the desktop wallpaper.
  • pen - Live Markdown preview in the browser from your favorite editor.
  • dark-mode - Toggle the macOS Dark Mode.
  • Jsome - Pretty prints JSON with configurable colors and indentation.
  • mobicon - Mobile app icon generator.
  • mobisplash - Mobile app splash screen generator.
  • diff2html-cli - Pretty git diff to HTML generator.
  • trymodule - Try out npm packages in the terminal.
  • jscpd - Copy/paste detector for source code.
  • atmo - Server-side API mocking.
  • auto-install - Auto installs dependencies as you code.
  • lessmd - Markdown in the terminal.
  • cost-of-modules - Find out which dependencies are slowing you down.
  • localtunnel - Expose your localhost to the world.
  • svg-term-cli - Share terminal sessions via SVG.
  • gtop - System monitoring dashboard for the terminal.
  • themer - Generate themes for your editor, terminal, wallpaper, Slack, and more.
  • carbon-now-cli - Beautiful images of your code — from right inside your terminal.
  • cash-cli - Convert between 170 currencies.
  • taskbook - Tasks, boards & notes for the command-line habitat.
  • discharge - Easily deploy static websites to Amazon S3.
  • npkill - Easily find and remove old and heavy node_modules folders.
  • Functional programming

  • lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
  • immutable - Immutable data collections.
  • Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
  • Mout - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
  • RxJS - Functional reactive library for transforming, composing, and querying various kinds of data.
  • Kefir.js - Reactive library with focus on high performance and low memory usage.
  • HTTP

  • got - Nicer interface to the built-in http module.
  • undici - High performance HTTP client written from scratch with zero dependencies.
  • ky-universal - Universal HTTP client based on Fetch.
  • node-fetch - window.fetch for Node.js.
  • axios - Promise based HTTP client (works in the browser too).
  • superagent - HTTP request library.
  • http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
  • cacheable-request - Wrap native HTTP requests with RFC compliant cache support.
  • gotql - GraphQL request library built on got.
  • global-agent - 可使用环境变量配置的全局 HTTP/HTTPS 代理。
  • smoke - 具有记录功能的基于文件的 HTTP 模拟服务器。
  • purest - REST 客户端。
  • 调试/分析

  • debug——微型调试实用程序。
  • why-is-node-running - Node.js 正在运行,但您不知道为什么?
  • njsTrace - 检测和跟踪您的代码,查看所有函数调用、参数、返回值以及每个函数所花费的时间。
  • vstream - 可检测的流混合器用于检查流管道。
  • stackman - 使用代码摘录和其他有用内容增强错误堆栈跟踪。
  • locus - 在运行时启动一个可以访问所有变量的 REPL。
  • 0x——火焰图分析。
  • ctrace - 格式良好且改进的跟踪系统调用和信号。
  • 泄漏 - 编写内存泄漏测试。
  • llnode - 事后分析工具,可让您检查对象并从崩溃的 Node.js 进程中获取见解。
  • thetool - 以 Chrome DevTools 友好格式捕获应用的不同 CPU、内存和其他配置文件。
  • swagger-stats - 跟踪 API 调用并监控 API 性能、健康和使用情况指标。
  • NiM - 管理 DevTools 调试工作流程。
  • dats - 简约且零依赖的 StatsD 客户端。
  • 日志记录

  • pino- 受 Bunyan 启发的超快记录器。
  • winston - 多传输异步日志库。
  • console-log-level - 最简单的记录器,支持日志级别和自定义前缀。
  • 故事板 - 端到端、分层、实时、丰富多彩的日志和故事。
  • consolesola-控制台记录器。
  • 命令行实用程序

  • noodles – 终端字符串样式正确完成。
  • meow-CLI 应用程序助手。
  • yargs-自动生成优雅用户界面的命令行解析器。
  • ora-优雅的终端旋转器。
  • get-stdin——更简单的 stdin。
  • log-update - 通过覆盖终端中的先前输出来记录。适用于渲染进度条、动画等。
  • Ink - 用于交互式命令行应用程序的 React。
  • listr2——终端任务列表。
  • conf- 为您的应用或模块提供简单的配置处理。
  • ansi-escapes——用于操作终端的 ANSI 转义代码。
  • 日志符号- 各种日志级别的彩色符号。
  • 图形 - 带有 Windows CMD 后备的 Unicode 符号。
  • boxen—在终端中创建框。
  • terminal-link-在终端中创建可点击的链接。
  • 终端图像-在终端中显示图像。
  • string-width - 获取字符串的可视宽度 - 显示该字符串所需的列数。
  • cli-truncate - 在终端中将字符串截断为特定宽度。
  • blessed - 类似 Curses 的库。
  • Inquirer.js - 交互式命令行提示符。
  • yn - 解析是/否类似的值。
  • cli-table3-漂亮的 Unicode 表。
  • drawille-用unicode盲文字符在终端上绘制。
  • ascii-charts-终端中的 ASCII 条形图。
  • progress - 灵活的 ascii 进度条。
  • 洞察 - 通过向 Google Analytics 匿名报告使用情况指标,帮助您了解您的工具的使用情况。
  • cli-cursor-切换 CLI 光标。
  • cli-columns - 列式 unicode 和 ansi-safe 文本列表。
  • cfonts——适用于控制台的性感 ASCII 字体。
  • multispinner - 多个、同时、单独可控制的 CLI 旋转器。
  • omelette - Shell 自动完成助手。
  • cross-env-跨平台设置环境变量。
  • shelljs - 可移植的 Unix shell 命令。
  • sudo-block - 阻止用户以 root 权限运行您的应用程序。
  • sparkly - 生成迷你图 ▂▃▅▂▇。
  • Bit - 跨存储库创建、维护、查找和使用小模块和组件。
  • gradient-string - 终端输出中漂亮的颜色渐变。
  • oclif- 带有解析器、自动文档、测试和插件的 CLI 框架。
  • 终端大小 - 可靠地获取终端窗口大小。
  • Cliffy - 交互式 CLI 框架。
  • zx-编写 shell 脚本 JavaScript。
  • 构建工具

  • parcel - 速度极快,零配置的 Web 应用程序捆绑器。
  • webpack——为浏览器打包模块和资产。
  • rollup - 下一代 ES2015 模块捆绑器。
  • gulp - 流式和快速构建系统,更倾向于代码而不是配置。
  • Broccoli - 快速、可靠的资产管道,支持恒定时间重建和紧凑的构建定义。
  • Brunch - 具有简单的声明性配置、快速增量编译和自定工作流程的前端 Web 应用程序构建工具。
  • FuseBox - 结合了 webpack、JSPM 和 SystemJS 的强大功能以及一流的 TypeScript 支持的快速构建系统。
  • pkg-将您的 Node.js 项目打包成可执行文件。
  • Vite - 具有热模块替换和静态资产捆绑功能的前端构建工具。
  • 硬件

  • johnny-five——基于 Firmata 的 Arduino 框架。
  • serialport-访问串行端口以进行读写。
  • usb-USB 库。
  • i2c-bus——I2C 串行总线访问。
  • onoff-GPIO 访问和中断检测。
  • spi-device——SPI 串行总线访问。
  • pigpio - Raspberry Pi 上的快速 GPIO、PWM、伺服控制、状态改变通知和中断处理。
  • gps-用于处理 GPS 接收器的 NMEA 解析器。
  • modbus-serial——MODBUS-RTU(串行和 TCP)的纯 JavaScript 实现。
  • 模板

  • marko - 基于 HTML 的模板引擎,将模板编译为 CommonJS 模块并支持流式传输、异步渲染和自定义标签。
  • nunjucks - 具有继承,异步控制等功能的模板引擎(受 jinja2 启发)。
  • handlebars.js - Mustache 模板的超集,增加了诸如助手和更高级的块之类的强大功能。
  • EJS - 简单、不受束缚的模板语言。
  • Pug - 深受 Haml 影响的高性能模板引擎。
  • Web 框架

  • Fastify - 快速且低开销的 Web 框架。
  • Next.js——用于服务器呈现的通用 JavaScript Web 应用程序的简约框架。
  • Nuxt.js - 用于服务器呈现的 Vue.js 应用程序的简约框架。
  • Hapi - 构建应用程序和服务的框架。
  • Micro - 采用异步方法的简约微服务框架。
  • Koa - Express 团队设计的框架,旨在成为 Web 应用程序和 API 的更小、更具表现力、更强大的基础。
  • Express - Web 应用程序框架,提供了一组强大的功能,用于构建单页、多页和混合 Web 应用程序。
  • Feathers - 以 Express 精神构建的微服务框架。
  • LoopBack - 用于创建 REST API 并轻松连接到后端数据源的强大框架。
  • Meteor - 一个超级简单、无处不在的数据库、在线数据传输、纯 Javascript 网络框架。(您可能喜欢 awesome-meteor)
  • Restify——使您能够构建正确的 REST Web 服务。
  • ThinkJS - 支持 ES2015+、WebSockets、REST API 的框架。
  • ActionHero - 为 TCP 套接字、WebSocket 和 HTTP 客户端制作可重用且可扩展的 API 的框架。
  • seneca - 编写微服务的工具包。
  • AdonisJs - 一个真正的 Node.js MVC 框架,建立在依赖注入和 IoC 容器的坚实基础之上。
  • Moleculer - 快速而强大的微服务框架。
  • Nest - 受 Angular 启发的框架,用于构建高效且可扩展的服务器端应用程序。
  • TypeGraphQL - 使用类和装饰器通过 TypeScript 创建 GraphQL API 的现代框架。
  • Tinyhttp - 现代且快速的类似 Express 的 Web 框架。
  • Marble.js - 基于 TypeScript 和 RxJS 构建服务器端应用程序的功能反应框架。
  • Lad - 由前 Express TC 和 Koa 成员制作的框架,捆绑了 Web、API、作业和代理服务器。
  • Ts.ED - 直观的 TypeScript 框架,用于在 Express.js 或 Koa.js 上构建服务器端应用程序。
  • Hono - 小巧而快速的 Web 框架。
  • 文档

  • document.js - 支持 ES2015+ 和流程注释的 API 文档生成器。
  • Docco - 文档生成器,生成一个 HTML 文档,显示与代码混合在一起的注释。
  • JSDoc - 类似于 JavaDoc 或 PHPDoc 的 API 文档生成器。
  • Docusaurus - 利用 React 和 Markdown 的文档网站生成器,并带有翻译和版本控制功能。
  • 文件系统

  • del-使用 globs 删除文件/文件夹。
  • globby - 支持多种模式的 Glob 文件。
  • chokidar - 文件系统观察器,可稳定来自 fs.watch 和 fs.watchFile 的事件以及在 macOS 上使用本机 fsevents。
  • find-up-通过遍历父目录来查找文件。
  • prop-lockfile - 进程间和机器间锁文件实用程序。
  • load-json-file - 读取并解析 JSON 文件。
  • write-json-file - 以原子方式将 JSON 字符串化并写入文件。
  • fs-write-stream-atomic - 与 fs.createWriteStream() 类似,但是是原子的。
  • filenamify — 将字符串转换为有效的文件名。
  • istextorbinary - 检查文件是文本还是二进制。
  • fs-jetpack - 完全重新设计的文件系统 API,方便日常使用。
  • fs-extra——fs 模块的额外方法。
  • pkg-dir——查找 npm 包的根目录。
  • filehound-用于搜索文件系统的灵活流畅的界面。
  • move-file——移动文件,甚至跨设备工作。
  • tempy - 获取随机临时文件或目录路径。
  • 控制流

  • 承诺 pify - 将承诺变为回调式函数。delay - 将承诺延迟指定的时间。promise-memoize - 记忆承诺返回函数,具有 expire 和 prefetch。valvelet - 限制承诺返回函数的执行率。p-map - 同时映射承诺。更多…
  • Observables RxJS - 反应式编程。 observable-to-promise - 将 Observable 转换为 Promise。 更多…
  • Streams Highland.js - 轻松管理同步和异步代码,仅使用标准 JavaScript 和类似 Node 的 Streams。
  • get-stream-将流作为字符串或缓冲区获取。
  • from2 - 受 through2 启发的 ReadableStream 的便捷包装器。
  • into-stream - 将缓冲区/字符串/数组/对象转换为流。
  • duplexify - 将可写和可读流转换为单个 streams2 双工流。
  • pumpify - 将多个流组合成一个双工流。
  • peek-stream - 转换流,让您在决定如何解析之前先查看第一行。
  • 二进制拆分-换行符(或任何分隔符)拆分器流。
  • byline - 超级简单的逐行流阅读器。
  • first-chunk-stream - 转换流中的第一个块。
  • pad-stream - 填充流中的每一行。
  • 多流 - 将多个流合并为一个流。
  • readable-stream - 核心中 Streams2 和 Streams3 实现的镜像。
  • through2-concurrent - 同时转换对象流。
  • 即时的

  • µWebSockets - 高度可扩展的 WebSocket 服务器和客户端库。
  • Socket.io——实现基于事件的实时双向通信。
  • Faye - 基于 Bayeux 协议的实时客户端 - 服务器消息总线。
  • SocketCluster - 可扩展的 HTTP + WebSocket 引擎,可以在多个 CPU 核心上运行。
  • Primus - 实时框架的抽象层,用于防止模块锁定。
  • deepstream.io - 可扩展的实时微服务框架。
  • Kalm - 低级套接字路由器和中间件框架。
  • MQTT.js - MQTT 客户端 - 基于发布-订阅的消息传递协议,可在 TCP/IP 上使用。
  • rpc-websockets - 通过 WebSockets 实现 JSON-RPC 2.0。
  • Aedes - 可在任何流服务器上运行的准 MQTT 服务器。
  • 图像

  • sharp - 用于调整 JPEG、PNG、WebP 和 TIFF 图像大小的最快模块。
  • 图像类型 - 检测图像的类型。
  • 图像尺寸 - 获取图像的尺寸。
  • gm-GraphicsMagick 和 ImageMagick 包装器。
  • lwip--轻量级图像处理器,不需要ImageMagick。
  • pica - 纯 JS 实现的高质量、快速调整大小 (lanczos3)。当不允许像素化时,可替代画布 drawImage()。
  • jimp——纯 JavaScript 进行图像处理。
  • qrcode -QR 码和条形码生成器。
  • ImageScript - 使用 JavaScript 进行图像处理,利用 WebAssembly 提高性能。
  • 文本

  • iconv-lite——转换字符编码。
  • string-length - 通过正确计算星标符号并忽略 ANSI 转义码来获取字符串的实际长度。
  • camelcase - 将破折号/点/下划线/空格分隔的字符串转换为 camelCase:foo-bar → fooBar。
  • escape-string-regexp - 转义 RegExp 特殊字符。
  • splice-string - 删除或替换字符串的一部分,如 Array#splice。
  • indent-string-缩进字符串中的每一行。
  • strip-indent - 删除字符串中每行的前导空格。
  • 检测缩进 - 检测代码的缩进。
  • he——HTML 实体编码器/解码器。
  • i18n-node - 具有动态 JSON 存储的简单翻译模块。
  • babelfish - i18n 具有非常简单的复数语法。
  • matcher-简单的通配符匹配。
  • unhomoglyph- 规范化视觉上相似的 Unicode 字符。
  • i18next——国际化框架。
  • nanoid - 小巧、安全、URL 友好、唯一的字符串 ID 生成器。
  • StegCloak-将秘密隐藏在字符串中,一目了然。
  • 数字

  • random-int-生成一个随机整数。
  • random-float-生成一个随机浮点数。
  • unique-random-生成连续唯一的随机数。
  • 四舍五入 - 将数字四舍五入到特定的小数位数:1.234 → 1.2。
  • 数学

  • ndarray - 多维数组。
  • mathjs——一个广泛的数学库。
  • math-clamp-限制一个数字。
  • 代数 - 代数结构。
  • multimath - 在 WebAssembly 和 JS 中创建快速图像数学的核心。
  • 日期

  • Luxon - 用于处理日期和时间的库。
  • date-fns - 现代日期实用程序。
  • Day.js - Moment.js 的不可变日期库替代品。
  • dateformat-日期格式。
  • tz-format - 使用时区格式化日期:2015-11-30T10:40:35 + 01:00。
  • cctz - 快速解析、格式化和日期时区转换。
  • 网址

  • normalize-url-规范化 URL。
  • humanize-url - 人性化 URL:https://sindresorhus.com → sindresorhus.com。
  • url-unshort-扩展缩短的 URL。
  • Speakingurl - 通过音译的字符串生成 slug。
  • linkify-it - 具有完整 Unicode 支持的链接模式检测器。
  • url-pattern - 比正则表达式字符串匹配模式更适用于 URL 和其他字符串。
  • embedza - 使用来自 oEmbed、Open Graph、元标记的信息从 URL 创建 HTML 片段/嵌入。
  • 数据验证

  • joi - JavaScript 对象的对象模式描述语言和验证器。
  • is-my-json-valid - 使用代码生成的 JSON 模式验证器,速度极快。
  • property-validator - 轻松进行 Express 的属性验证。
  • schema-inspector - JSON API 清理和验证。
  • ajv - 最快的 JSON Schema 验证器。支持 v5、v6 和 v7 提案。
  • Superstruct - 在 JavaScript(和 TypeScript)中验证数据的简单且可组合的方法。
  • yup-对象模式验证。
  • zod - 具有静态类型推断的 TypeScript-first 模式验证。
  • 解析

  • remark - 由插件提供支持的 Markdown 处理器。
  • markdown-it - Markdown 解析器,100% 支持 CommonMark、扩展和语法插件。
  • parse5 - 快速、功能齐全、符合规范的 HTML 解析器。
  • @parcel/css——用 Rust 编写的 CSS 解析器、转换器和压缩器。
  • strip-json-comments - 从 JSON 中删除注释。
  • strip-css-comments - 从 CSS 中删除注释。
  • parse-json - 解析 JSON 并显示更多有用的错误。
  • URI.js——URL 变异。
  • JSONStream - 流式 JSON.parse 和 stringify。
  • neat-csv - 快速 CSV 解析器。上述回调接口。
  • csv-parser - 流式 CSV 解析器,旨在比其他任何人都更快。
  • PEG.js - 简单的解析器生成器,可生成具有出色错误报告功能的快速解析器。
  • x-ray-Web 抓取实用程序。
  • 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。
  • 人性化

  • pretty-bytes - 将字节转换为人类可读的字符串:1337 → 1.34 kB。
  • pretty-ms - 将毫秒转换为人类可读的字符串:1337000000 → 15d 11h 23m 20s。
  • ms——微小的毫秒转换实用程序。
  • pretty-error- 错误较少,混乱较少。
  • read-art - 从任何页面提取可读内容。
  • 压缩

  • yazl-邮政编码。
  • yauzl——解压缩。
  • Archiver - 用于档案生成的流式接口,支持 ZIP 和 TAR。
  • pako- 高速 zlib 端口到纯 js(deflate、inflate、gzip)。
  • tar-stream - 流式 tar 解析器和生成器。另请参阅 tar-fs。
  • 网络

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

  • 驱动程序 PostgreSQL - PostgreSQL 客户端。纯 JavaScript 和原生 libpq 绑定。Redis - Redis 客户端。LevelUP - LevelDB。MySQL - MySQL 客户端。couchdb-nano - CouchDB 客户端。Aerospike - Aerospike 客户端。Couchbase - Couchbase 客户端。MongoDB - MongoDB 驱动程序。
  • ODM / ORM Sequelize - 多方言 ORM。支持 PostgreSQL、SQLite、MySQL 等。Bookshelf - 类似 Backbone.js 风格的 PostgreSQL、MySQL 和 SQLite3 的 ORM。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。Drizzle ORM - 支持各种数据库(如 PostgreSQL)的 TypeScript ORM。
  • 查询生成器 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 实例。
  • 测试

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

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

  • Benchmark.js - 支持高分辨率计时器并返回具有统计意义的结果的基准测试库。
  • 压缩器

  • babel-minify - 基于 Babel 工具链的 ES2015 + 感知压缩器。
  • UglifyJS2——JavaScript 压缩器。
  • clean-css——CSS 压缩器。
  • 最小化——HTML 压缩器。
  • imagemin-图像缩小器。
  • 验证

  • Passport - 简单、不引人注目的身份验证。
  • Grant - Express、Koa、Hapi、Fastify、AWS Lambda、Azure、Google Cloud、Vercel 等的 OAuth 提供商。
  • 授权

  • CASL -UI 和 API 的同构授权。
  • node-casbin - 支持 ACL,RBAC 和 ABAC 等访问控制模型的授权库。
  • 电子邮件

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

  • 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 时,简单高效的作业队列。
  • bullmq- 持久作业和消息队列。
  • bree- 具有工作线程、cron、日期和人类语法支持的作业任务调度程序。
  • Node.js 管理

  • n——Node.js 版本管理。
  • nave - Node.js 的虚拟环境。
  • nodeenv - 与 Python 的 virtualenv 兼容的 Node.js 虚拟环境。
  • Windows 版 nvm -Windows 版本管理。
  • nodenv - 类似于 Ruby 的 rbenv 的版本管理器。它支持自动版本切换。
  • fnm - 使用 Rust 构建的跨平台 Node.js 版本管理器。
  • 跨平台集成

  • napi-rs - 通过 Node-API 在 Rust 中构建已编译的 Node.js 插件的框架。
  • Neon - 用于编写安全、快速的本机 Node.js 模块的 Rust 绑定。
  • Edge.js - 在 Windows、macOS 和 Linux 上的同一进程中运行 .NET 和 Node.js 代码。
  • DotNetJS - 使用此 .NET 互操作层在 Node.js 中使用 .NET 库。
  • 自然语言处理

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

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

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

  • Acorn - 小巧、快速的 JavaScript 解析器。
  • babel-parser - Babel 中使用的 JavaScript 解析器。
  • 静态站点生成器

  • DocPad - 具有动态能力和庞大插件生态系统的静态站点生成器。
  • docsify - 没有静态构建的 HTML 文件的 Markdown 文档站点生成器。
  • Charge - 使用 JSX 和 MDX 的自发、零配置静态站点生成器。
  • 内容管理系统

  • KeystoneJS - 基于 Express 和 MongoDB 构建的 CMS 和 Web 应用程序平台。
  • ApostropheCMS - 内容管理系统,强调基于 Express 和 MongoDB 构建的直观前端内容编辑和管理。
  • Strapi - 内容管理框架(headless-CMS)用于构建强大的 API。
  • Factor -Vue.js 仪表板框架和无头 CMS。
  • AdminBro - 自动生成带有 CRUD 功能的管理面板,用于管理您的所有资源。
  • Graphweaver -CMS 和无头 GraphQL API。
  • 论坛

  • nodeBB——现代网络的论坛平台。
  • 博客

  • Ghost - 简单、强大的发布平台。
  • Hexo - 快速、简单且功能强大的博客框架。
  • 诡异的

  • 奶牛 -ASCII 奶牛。
  • superb - 获得像 superb 一样的词语。
  • cat-names - 获取流行的猫名。
  • 狗名 - 获取流行的狗名。
  • 超级英雄 - 获取超级英雄的名字。
  • supervillains-获取超级恶棍的名字。
  • cool-ascii-faces - 获得一些很酷的 ascii 面孔。
  • cat-ascii-faces - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”。
  • nerds - 获取有关“哈利波特”、“星球大战”和“神奇宝贝”等书呆子话题的数据。
  • 序列化

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

  • execa - 更好的 child_process。
  • cheerio - 专为服务器设计的快速、灵活、精益的核心 jQuery 实现。
  • open——打开网站、文件、可执行文件等内容。
  • hasha - 哈希变得简单。获取缓冲区/字符串/流/文件的哈希值。
  • dot-prop - 使用点路径从嵌套对象获取属性。
  • onetime-仅运行一次功能。
  • mem - 记忆函数 - 一种优化技术,通过缓存具有相同输入的调用结果来加速连续函数调用。
  • strip-bom - 从字符串 / 缓冲区 / 流中去除 UTF-8 字节顺序标记 (BOM)。
  • os-locale——获取系统区域设置。
  • ssh2——SSH2 客户端和服务器模块。
  • adit - SSH 隧道变得简单。
  • file-type——检测缓冲区的文件类型。
  • 瓶颈 - 使节流变得容易的速率限制器。
  • webworker-threads - 具有本机线程的轻量级 Web Worker API 实现。
  • clipboardy——访问系统剪贴板(复制/粘贴)。
  • node-pre-gyp - 可以轻松地从二进制文件发布和安装 Node.js C++ 插件。
  • opencv - OpenCV 的绑定。事实上的计算机视觉库。
  • dotenv-从.env 文件加载环境变量。
  • semver- 语义版本解析器。
  • nodegit - Git 的本机绑定。
  • json-strictify - 安全地将值序列化为 JSON,不会丢失数据或陷入无限循环。
  • jsdom——HTML 和 DOM 的 JavaScript 实现。
  • @sindresorhus/is——类型检查值。
  • env-dot-prop - 使用点路径获取、设置或删除 process.env 的嵌套属性。
  • node-video-lib - 纯 JavaScript 库,用于处理 MP4 和 FLV 视频文件并为 HLS 流创建 MPEG-TS 块。
  • basic-ftp——FTP/FTPS 客户端。
  • cashify——货币转换。
  • genepi - 从 C++ 代码自动生成原生 Node.js 插件。
  • husky - 创建 Git 钩子脚本。
  • patch-package - 制作并保存对 npm 依赖项的修复。
  • editly - 声明式视频编辑 API。
  • wild-wild-path - 带有通配符和正则表达式的对象属性路径。
  • uint8array-extras-用于与 Uint8Array 和 Buffer 一起使用的有用实用程序。
  • 包管理器

  • npm——默认包管理器。
  • pnpm - 节省磁盘空间的包管理器。
  • yarn——替代的包管理器。
  • bun - JavaScript 和 TypeScript 应用程序的一体化工具包。
  • 资源

    教程

  • Node.js 最佳实践 - 对 Node.js 最佳实践的顶级内容进行总结和整理,提供多种语言版本。
  • Nodeschool-通过互动课程学习 Node.js。
  • Node 的艺术 - Node.js 简介。
  • module-best-practices - 编写新的 npm 模块时的一些良好实践。
  • Node 方式 - Node.js 的最佳实践和指导原则的完整哲学用于编写可维护的模块、可扩展的应用程序以及易于阅读的代码。
  • 您不知道 Node.js -Node.js 核心功能和异步 JavaScript 简介。
  • 可移植 Node.js 指南 - 有关如何编写可移植/跨平台 Node.js 代码的实用指南。
  • 构建无需框架的真正 Web 应用程序 - 一组视频教程/直播,帮助您使用一些简单的库和核心 Node.js 模块构建和部署真正的实时 Web 应用程序。
  • 发现

  • npms - 卓越的包搜索功能,使用大量指标对包质量进行深入分析。
  • npm addict - 您每天注入的 npm 包。
  • npm-compare.com - 比较和发现 npm 包。
  • 文章

  • Node.js 中的错误处理
  • 10 个步骤教你学会 Node.js
  • 掌握 Node.js 中的文件系统
  • Semver:入门
  • Semver:波浪号和插入符号
  • 为何异步?
  • 理解 Node.js 事件循环
  • 理解对象流
  • 使用 Express 快速构建 GraphQL 服务器
  • 时事通讯

  • Node Weekly - 每周通过电子邮件汇总 Node.js 新闻和文章。
  • 视频

  • Ryan Dahl 介绍 Node.js
  • 亲身体验 Node.js
  • V8 垃圾收集器 - 关于 V8 垃圾收集器的垃圾话题。
  • Ryan Dahl 撰写的《我对 Node.js 感到遗憾的 10 件事》——Node.js 创建者对其一些局限性的深刻见解。
  • 掌握 Node.js 中的 REST API:从零到英雄 - 有关如何使用 Node.js 制作 REST API 的视频课程。
  • 制作原始的 Node.js REST API - 无需使用 Express 之类的框架即可构建 REST API。
  • Google I/O 2009 - V8:高性能 JavaScript 引擎 - V8 架构的基础知识以及它如何优化 JavaScript 执行。
  • Google I/O 2012 - 利用 V8 突破 JavaScript 速度限制 - V8 如何优化 JavaScript 执行。
  • Google I/O 2013 - 使用 V8 加速 Oz:沿着黄砖路走向 JavaScript 性能 - 如何利用 V8 知识检测应用程序瓶颈并优化性能。
  • Node.js 内部架构 | Ignition、Turbofan、Libuv - Node.js 内部工作原理,重点关注 V8 和 libuv。
  • libuv 简介:什么是独角兽迅猛龙? - libuv 架构、线程池和事件循环及其源代码。
  • libuv 跨平台异步 i/o - 详细介绍 libuv 架构,例如它实际使用线程的地方。
  • 您不知道 Node - ForwardJS 旧金山 - 通过关于 V8、libuv、事件循环、模块、流和集群的测验解释 Node.js 内部结构。
  • 图书

  • Node.js 实战
  • Node.js 实践
  • 主节点
  • Node.js 8 的正确使用方式
  • 专业 Node.js:构建基于 JavaScript 的可扩展软件
  • 保护您的 Node.js Web 应用程序
  • Express 实际行动
  • 实用的现代 JavaScript
  • 掌握模块化 JavaScript
  • 使用 Node.js 进行编程
  • Node.js 手册
  • Node.js 设计模式
  • 博客

  • Node.js 博客
  • webapplog.com——Practical Node.js 和 Pro Express.js 的作者 Azat Mardan 撰写的有关 Node.js 和 JavaScript 的博客文章。
  • 课程

  • 学习使用 Node.js 构建应用程序和 API - Wes Bos 的视频课程。
  • 使用 Node.js 进行实时 Web
  • 学习并理解 Node.js
  • Node.js 全栈开发人员课程
  • 备忘单

  • Express.js
  • 流常见问题解答 - 回答有关流的常见问题,涵盖分页、事件等。
  • 强大的 Node.js - Node.js Web 服务源代码安全分析的清单。
  • 工具

  • OctoLinker - Chrome 扩展程序,可链接 GitHub 上 package.json、.js、.jsx、.coffee 和 .md 文件中的依赖项。
  • npm-hub - Chrome 扩展程序,用于在 repo 自述文件的底部显示 npm 依赖项。
  • RunKit - 在任何网站上嵌入 Node.js 环境。
  • github-npm-stats - Chrome 扩展程序,显示 GitHub 上的 npm 下载统计信息。
  • npm semver 计算器 - 直观地探索 semver 范围与哪些版本的包相匹配。
  • CodeSandbox - 在线 IDE 和原型设计。
  • Amplication - 自动生成功能齐全的应用程序。
  • RunJS——桌面 JavaScript 游乐场。
  • 社区

  • 堆栈溢出
  • Reddit
  • 叽叽喳喳
  • 哈希节点
  • 不和谐
  • 各种各样的

  • nodebots——由 JavaScript 驱动的机器人。
  • node-module-boilerplate - 用于启动创建节点模块的样板。
  • modern-node - 使用 Jest、Prettier、ESLint 和 Standard 创建节点模块的工具包。
  • generator-nm-搭建一个节点模块。
  • Microsoft Node.js 指南 - 在 Microsoft 平台上使用 Node.js 的提示、技巧和资源。
  • 模块请求和想法 - 请求您希望存在的 JavaScript 模块或获取模块的想法。
  • v8-perf - 与 V8 以及 Node.js 性能相关的注释和资源。
  • **创建者**:0x1da49

    探索我收藏的创新资源:

  • 0x3d-@0x3d_site
  • 0x4c——@0x4c-任务
  • 0x5a
  • 0x6g
  • 0x7b
  • 0x8h
  • 新宇宙
  • Gittech-@gittech