Skip to content

Web 框架 ​

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

HTTP ​

  • axios - 基于 Promise 的 HTTP 客户端(同样适用于浏览器)。
  • superagent - HTTP 请求库。
  • got - 内置 http 模块的更友好接口。
  • node-fetch - 适用于 Node.js 的 window.fetch。
  • undici - 从零编写、零依赖的高性能 HTTP 客户端。
  • ky-universal - 基于 Fetch 的通用 HTTP 客户端。
  • purest - REST 客户端。
  • global-agent - 可通过环境变量配置的全局 HTTP/HTTPS 代理。
  • gotql - 基于 got 的 GraphQL 请求库。
  • http-fake-backend - 通过可配置路由提供 JSON 文件或 JavaScript 对象的内容,构建虚拟后端。
  • smoke - 基于文件的 HTTP 模拟服务器,支持录制功能。
  • cacheable-request - 为原生 HTTP 请求添加符合 RFC 规范的缓存支持。

教程 ​

测试 ​

  • Playwright - 使用单一 API 的无头 Chromium、WebKit 和 Firefox。
  • Puppeteer - 无头 Chrome。
  • Jest - 无痛 JavaScript 测试。
  • Mocha - 功能丰富的测试框架,让异步测试简单有趣。
  • AVA - 未来主义的测试运行器。
  • Vitest - 由 Vite 驱动的快速单元测试框架。
  • Nock - HTTP 模拟和期望。
  • Nightwatch - 基于 Selenium WebDriver 的自动化 UI 测试框架。
  • TestCafe - 自动化浏览器测试。
  • WebdriverIO - 基于 WebDriver 协议的自动化测试。
  • Sinon.JS - 测试间谍、桩和模拟对象。
  • axe-core - 用于自动化 Web UI 测试的无障碍引擎。
  • tape - 生成 TAP 的测试工具。
  • nyc - 基于 istanbul 的代码覆盖率工具,支持子进程。
  • intern - 代码测试栈。
  • CodeceptJS - 端到端测试。
  • power-assert - 通过标准 assert 接口提供描述性断言消息。
  • toxy - 可黑客化的 HTTP 代理,用于模拟故障场景和网络条件。
  • loadtest - 为你的 Web 应用运行负载测试,并提供自动化 API。
  • testcontainers-node - 提供轻量级、可丢弃的常见数据库、Selenium 浏览器或任何可在 Docker 容器中运行的内容的实例。
  • tap - TAP 测试框架。
  • trevor - 无需手动切换版本或推送到 Travis CI,即可针对多个 Node.js 版本运行测试。
  • abstruse - 持续集成服务器。
  • nve - 在本地针对多个 Node.js 版本运行任意命令。
  • Mochify - 使用 Browserify、Mocha、PhantomJS 和 WebDriver 进行 TDD。
  • testen - 使用 NVM 在本地针对多个 Node.js 版本运行测试。
  • hook-std - 挂钩并修改 stdout/stderr。
  • navit - PhantomJS / SlimerJS 包装器,简化浏览器测试脚本编写。

构建工具 ​

  • Vite - 支持热模块替换和静态资源打包的前端构建工具。
  • webpack - 为浏览器打包模块和资源。
  • parcel - 极速、零配置的 Web 应用打包器。
  • gulp - 流式且快速的构建系统,偏好代码而非配置。
  • rollup - 下一代 ES2015 模块打包器。
  • pkg - 将 Node.js 项目打包为可执行文件。
  • Brunch - 前端 Web 应用构建工具,具有简单的声明式配置、快速增量编译和固定的工作流程。
  • FuseBox - 快速构建系统,结合了 webpack、JSPM 和 SystemJS 的功能,并拥有一流的 TypeScript 支持。
  • Broccoli - 快速、可靠的资源管道,支持恒定时间重建和紧凑的构建定义。

内容管理系统 ​

  • Strapi - 内容管理框架(headless-CMS),用于构建强大的 API。
  • KeystoneJS - 基于 Express 和 MongoDB 构建的 CMS 和 Web 应用平台。
  • AdminBro - 自动生成的管理面板,为所有资源提供 CRUD 操作。
  • ApostropheCMS - 内容管理系统,强调直观的前端内容编辑和管理,基于 Express 和 MongoDB 构建。
  • Factor - Vue.js 仪表盘框架和 headless CMS。
  • Graphweaver - CMS 和 headless GraphQL API。

文档 ​

  • Docusaurus - 利用 React 和 Markdown 的文档网站生成器,支持翻译和版本控制功能。
  • JSDoc - 类似于 JavaDoc 或 PHPDoc 的 API 文档生成器。
  • documentation.js - 支持 ES2015+ 和 flow 注解的 API 文档生成器。
  • Docco - 生成 HTML 文档的文档生成器,将注释与代码交错显示。

实时 ​

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

函数式编程 ​

  • lodash - 提供一致性、定制化、高性能和额外功能的工具库。一个更好更快的 Underscore.js。
  • immutable - 不可变数据集合。
  • RxJS - 用于转换、组合和查询各种数据的函数式响应式库。
  • Ramda - 工具库,重点在于通过自动柯里化和反转参数顺序实现灵活的函数式组合。避免修改数据。
  • Kefir.js - 注重高性能和低内存占用的响应式库。
  • Mout - 工具库,与其他现有解决方案最大的区别在于你可以选择只加载需要的模块或函数,没有额外开销。

博客 ​

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

日期 ​

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

Node.js 管理 ​

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

数据库 ​

  • Prisma - 现代数据库访问(ORM 替代方案)。TypeScript 中自动生成且类型安全的查询构建器。支持 PostgreSQL、MySQL 和 SQLite。
  • TypeORM - PostgreSQL、MariaDB、MySQL、SQLite 等数据库的 ORM。
  • Drizzle ORM - 支持 PostgreSQL 等多种数据库的 TypeScript ORM。
  • Sequelize - 多方言 ORM。支持 PostgreSQL、SQLite、MySQL 等。
  • Mongoose - 优雅的 MongoDB 对象建模。
  • Lowdb - 由 Lodash 驱动的小型 JavaScript 数据库。
  • Knex - PostgreSQL、MySQL 和 SQLite3 的查询构建器,设计灵活、可移植且使用有趣。
  • MySQL - MySQL 客户端。
  • Redis - Redis 客户端。
  • NeDB - 用 JavaScript 编写的嵌入式持久化数据库。
  • PostgreSQL - PostgreSQL 客户端。纯 JavaScript 和原生 libpq 绑定。
  • MongoDB - MongoDB 驱动。
  • MikroORM - 基于 Data Mapper、Unit of Work 和 Identity Map 模式的 TypeScript ORM。支持 MongoDB、PostgreSQL、MySQL 和 SQLite。
  • Objection.js - 基于 SQL 查询构建器 Knex 的轻量级 ORM。
  • Bookshelf - PostgreSQL、MySQL 和 SQLite3 的 ORM,风格类似 Backbone.js。
  • Waterline - 数据存储无关的工具,大幅简化与一个或多个数据库的交互。
  • slonik - 具有严格类型、详细日志和断言的 PostgreSQL 客户端。
  • LevelUP - LevelDB。
  • pg-promise - 使用原生 SQL 和 Promise 的 PostgreSQL 框架。
  • Keyv - 支持多种后端的简单键值存储。
  • pg-mem - 用于测试的内存 PostgreSQL 实例。
  • couchdb-nano - CouchDB 客户端。
  • @databases - 使用纯 SQL 查询 PostgreSQL、MySQL 和 SQLite3,无需担心 SQL 注入。
  • Mongo Seeding - 使用 JavaScript 和 JSON 文件填充 MongoDB 数据库。
  • OpenRecord - PostgreSQL、MySQL、SQLite3 和 RESTful 数据存储的 ORM,类似 ActiveRecord。
  • Couchbase - Couchbase 客户端。
  • Aerospike - Aerospike 客户端。
  • Finale - 为 Sequelize 模型生成 RESTful 端点的工具。
  • database-js - 具有类似 JDBC 连接的多数据库封装。

命令行工具 ​

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

AST ​

  • babel-parser - Babel 中使用的 JavaScript 解析器。
  • Acorn - 小巧、快速的 JavaScript 解析器。

数据验证 ​

  • zod - TypeScript 优先的模式验证,支持静态类型推断。
  • yup - 对象模式验证。
  • joi - 用于 JavaScript 对象的对象模式描述语言和验证器。
  • ajv - 最快的 JSON Schema 验证器。支持 v5、v6 和 v7 提案。
  • Superstruct - 在 JavaScript(和 TypeScript)中验证数据的简单且可组合的方式。
  • is-my-json-valid - 使用代码生成实现极速的 JSON Schema 验证器。
  • schema-inspector - JSON API 的净化和验证。
  • property-validator - Express 的简单属性验证。

进程管理 ​

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

疯狂科学 ​

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

杂项 ​

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

图像 ​

  • sharp - 用于调整 JPEG、PNG、WebP 和 TIFF 图像尺寸的最快模块。
  • jimp - 纯 JavaScript 图像处理。
  • qrcode - 二维码和条形码生成器。
  • pica - 纯 JS 实现的高质量快速缩放(lanczos3)。当不允许像素化时,可作为 canvas drawImage() 的替代方案。
  • lwip - 轻量级图像处理器,无需 ImageMagick。
  • ImageScript - 使用 JavaScript 进行图像处理,利用 WebAssembly 提升性能。
  • image-dimensions - 获取图像尺寸。
  • image-type - 检测图像类型。

控制流 ​

  • RxJS - 响应式编程。
  • More…
  • Highland.js - 仅使用标准 JavaScript 和类似 Node 的流,轻松管理同步和异步代码。
  • p-map - 并发地映射 Promise。
  • pify - 将回调风格的函数 Promise 化。
  • delay - 将 Promise 延迟指定时间。
  • More…
  • promise-memoize - 记忆化返回 Promise 的函数,支持过期和预取。
  • observable-to-promise - 将 Observable 转换为 Promise。
  • valvelet - 限制返回 Promise 的函数的执行速率。

静态站点生成器 ​

  • docsify - Markdown 文档站点生成器,不生成静态 HTML 文件。
  • DocPad - 具备动态能力和庞大插件生态的静态站点生成器。
  • Charge - 固执己见、零配置的静态站点生成器,使用 JSX 和 MDX。

命令行应用 ​

  • ESLint - 可插拔的 JavaScript 代码检查工具。
  • localtunnel - 将你的 localhost 暴露给全世界。
  • http-server - 简单、零配置的命令行 HTTP 服务器。
  • gtop - 终端系统监控仪表盘。
  • pageres - 捕获网站截图。
  • npkill - 轻松查找并删除老旧且庞大的 node_modules 文件夹。
  • taskbook - 适用于命令行环境的任务、看板和笔记。
  • XO - 使用 JavaScript 幸福风格强制严格的代码风格。
  • np - 更好的 npm publish。
  • fkill - 出色地终止进程。跨平台。
  • jscpd - 源代码复制/粘贴检测器。
  • carbon-now-cli - 代码的精美图片——就在你的终端里。
  • themer - 为你的编辑器、终端、壁纸、Slack 等生成主题。
  • Live Server - 支持 livereload 的开发用 HTTP 服务器。
  • svg-term-cli - 通过 SVG 分享终端会话。
  • vtop - 更好的 top,带有精美图表。
  • speed-test - 测试你的网络连接速度和 ping。
  • cost-of-modules - 找出哪些依赖拖慢了你的速度。
  • trash - rm 的更安全替代方案。
  • license-checker - 检查应用依赖项的许可证。
  • is-online - 检查网络连接是否正常。
  • auto-install - 编码时自动安装依赖。
  • trymodule - 在终端中试用 npm 包。
  • wallpaper - 更改桌面壁纸。
  • public-ip - 获取你的公网 IP 地址。
  • David - 提示你的包 npm 依赖何时过期。
  • atmo - 服务端 API 模拟。
  • dark-mode - 切换 macOS 深色模式。
  • discharge - 轻松将静态网站部署到 Amazon S3。
  • diff2html-cli - 将漂亮的 git diff 生成 HTML。
  • clipboard-cli - 在终端中复制粘贴。
  • browser-run - 在浏览器环境中轻松运行代码。
  • cpy - 复制文件。
  • pjs - 可管道化的 JavaScript。在终端中快速过滤、映射和归约。
  • is-up - 检查网站是否在线。
  • bcat - 将命令输出传输到 Web 浏览器。
  • pen - 在浏览器中从你喜欢的编辑器实时预览 Markdown。
  • cash-cli - 在 170 种货币之间转换。
  • Jsome - 以可配置的颜色和缩进美化打印 JSON。
  • normit - 在终端中使用语音合成的谷歌翻译。
  • npm-home - 打开包的 npm 页面。
  • gh-home - 打开当前目录仓库的 GitHub 页面。
  • npm-name - 检查包名在 npm 上的可用性。
  • empty-trash - 清空回收站。
  • tmpin - 为任何接受文件输入的 CLI 应用添加标准输入支持。
  • mobicon - 移动应用图标生成器。
  • mobisplash - 移动应用启动屏生成器。

文本 ​

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

日志 ​

  • winston - 多传输异步日志记录库。
  • pino - 受 Bunyan 启发的极速日志记录器。
  • consola - 控制台日志记录器。
  • storyboard - 端到端、分层、实时、彩色日志和故事。
  • console-log-level - 最简洁的日志记录器,支持日志级别和自定义前缀。

认证 ​

  • Passport - 简单、不显眼的认证。
  • Grant - 适用于 Express、Koa、Hapi、Fastify、AWS Lambda、Azure、Google Cloud、Vercel 等众多平台的 OAuth 提供程序。

解析 ​

  • markdown-it - 支持 100% CommonMark、扩展和语法插件的 Markdown 解析器。
  • remark - 由插件驱动的 Markdown 处理器。
  • @parcel/css - 用 Rust 编写的 CSS 解析器、转换器和压缩器。
  • js-yaml - 非常快的 YAML 解析器。
  • URI.js - URL 变更。
  • x-ray - 网页抓取工具。
  • xml2js - XML 到 JavaScript 对象的转换器。
  • PEG.js - 简单的解析器生成器,可生成具有出色错误报告的高性能解析器。
  • Jison - 友好的 JavaScript 解析器生成器。它与 Bison、Yacc 及其家族同源。
  • parse5 - 快速、功能齐全、符合规范的 HTML 解析器。
  • nearley - 用于 JavaScript 的简单、快速、强大的解析。
  • fast-xml-parser - 验证并解析 XML。
  • Chevrotain - 非常快速且功能丰富的 JavaScript 解析器构建工具包。
  • JSONStream - 流式 JSON.parse 和 stringify。
  • csv-parser - 旨在比其他人更快的流式 CSV 解析器。
  • google-libphonenumber - 解析、格式化、存储和验证电话号码。
  • xlsx-populate - 读写 Excel XLSX。
  • strip-json-comments - 从 JSON 中去除注释。
  • ref - 在 Buffers 中读写结构化二进制数据。
  • parse-json - 解析 JSON 并提供更有用的错误信息。
  • neat-csv - 快速 CSV 解析器。上述功能的回调接口。
  • Stylecow - 解析、操作和转换现代 CSS,使其兼容所有浏览器。可通过插件扩展。
  • binary-extract - 从 JSON 缓冲区中提取值,而无需解析整个内容。
  • strip-css-comments - 从 CSS 中去除注释。

模板 ​

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

电子邮件 ​

  • MJML - 旨在减少创建响应式电子邮件痛苦的标记语言。
  • Nodemailer - 处理电子邮件最快的方式。
  • email-templates - 创建、预览和发送自定义电子邮件模板。
  • emailjs - 向任意 SMTP 服务器发送带附件的文本/HTML 电子邮件。
  • Forward Email - 开源且可自托管的电子邮件服务。

任务队列 ​

  • bull - 持久化任务和消息队列。
  • agenda - 基于 MongoDB 的任务调度。
  • bullmq - 持久化任务和消息队列。
  • bee-queue - 高性能的基于 Redis 的任务队列。
  • bree - 支持工作线程、cron、日期和人类语法的任务调度器。
  • graphile-worker - 高性能 PostgreSQL 任务队列。
  • sqs-consumer - 无需样板代码即可构建基于 Amazon Simple Queue Service (SQS) 的应用。
  • rsmq - 基于 Redis 的消息队列。
  • node-resque - 基于 Redis 的任务队列。
  • RedisSMQ - 简单高性能的 Redis 消息队列,支持实时监控。
  • better-queue - 在无法使用 Redis 时,简单高效的任务队列。
  • idoit - 基于 Redis 的任务队列引擎,支持高级任务控制。

工具 ​

  • Amplication - 自动生成功能完整的应用。
  • OctoLinker - Chrome 扩展,可将 GitHub 上 package.json、.js、.jsx、.coffee 和 .md 文件中的依赖项链接化。
  • npm-hub - Chrome 扩展,在仓库 readme 底部显示 npm 依赖。
  • RunKit - 在任何网站上嵌入 Node.js 环境。
  • github-npm-stats - 在 GitHub 上显示 npm 下载统计的 Chrome 扩展。
  • npm semver calculator - 可视化探索 semver 范围匹配的包版本。
  • CodeSandbox - 在线 IDE 和原型设计。
  • RunJS - 桌面 JavaScript 游乐场。

论坛 ​

  • nodeBB - 面向现代 Web 的论坛平台。

数学 ​

硬件 ​

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

压缩器 ​

自动化 ​

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

文件系统 ​

  • chokidar - 文件系统监视器,稳定 fs.watch 和 fs.watchFile 的事件,并在 macOS 上使用原生 fsevents。
  • fs-extra - fs 模块的额外方法。
  • globby - 支持多种模式的 glob 文件匹配。
  • del - 使用 glob 模式删除文件/文件夹。
  • fs-jetpack - 完全重新设计的文件系统 API,方便日常使用。
  • find-up - 通过向上遍历父目录查找文件。
  • filenamify - 将字符串转换为有效的文件名。
  • tempy - 获取随机的临时文件或目录路径。
  • proper-lockfile - 进程间和机器间的锁文件工具。
  • package-directory - 查找 npm 包的根目录。
  • load-json-file - 读取并解析 JSON 文件。
  • write-json-file - 将 JSON 字符串化并原子地写入文件。
  • filehound - 灵活流畅的文件系统搜索接口。
  • move-file - 移动文件,甚至跨设备也能工作。
  • istextorbinary - 检查文件是文本还是二进制。
  • fs-write-stream-atomic - 类似于 fs.createWriteStream(),但具有原子性。

调试 / 性能分析 ​

  • debug - 微型调试工具。
  • 0x - 火焰图性能分析。
  • why-is-node-running - Node.js 正在运行,但你不清楚原因?
  • leakage - 编写内存泄漏测试。
  • llnode - 事后分析工具,允许检查对象并从崩溃的 Node.js 进程中获取洞察。
  • swagger-stats - 跟踪 API 调用并监控 API 性能、健康和使用指标。
  • njsTrace - 检测并跟踪代码,查看所有函数调用、参数、返回值以及每个函数所花费的时间。
  • locus - 在运行时启动 REPL,可访问所有变量。
  • stackman - 通过代码摘录和其他功能增强错误堆栈信息。
  • thetool - 以 Chrome DevTools 友好格式捕获应用的 CPU、内存和其他性能分析数据。
  • NiM - 管理 DevTools 调试工作流。
  • ctrace - 格式良好且改进的系统调用和信号跟踪。
  • dats - 极简且零依赖的 StatsD 客户端。
  • vstream - 可插桩的流混入,用于检查流管道。

自然语言处理 ​

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

序列化 ​

  • protobuf - Protocol Buffers 的实现。
  • snappy - Google Snappy 压缩库的原生绑定。
  • compactr - Compactr 协议的实现。

跨平台集成 ​

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

授权 ​

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

压缩 ​

  • pako - 高速 zlib 移植到纯 js(deflate、inflate、gzip)。
  • Archiver - 用于归档生成的流式接口,支持 ZIP 和 TAR。
  • yauzl - Unzip。
  • tar-stream - 流式 tar 解析器和生成器。另请参阅 tar-fs。
  • yazl - Zip。

人性化 ​

  • ms - 微小的毫秒转换工具。
  • pretty-error - 更简洁的错误信息。
  • pretty-bytes - 将字节转换为可读字符串:1337 → 1.34 kB。
  • pretty-ms - 将毫秒转换为可读字符串:1337000000 → 15d 11h 23m 20s。
  • read-art - 从任何页面提取可读内容。

基准测试 ​

  • Benchmark.js - 支持高分辨率计时器并返回统计显著结果的基准测试库。

相关列表 ​

安全 ​

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

杂项 ​

奇怪 ​

速查表 ​

URL ​

流 ​

  • readable-stream - 核心中 Streams2 和 Streams3 实现的镜像。
  • get-stream - 将流作为字符串或缓冲区获取。
  • byline - 超简单的逐行流读取器。
  • multistream - 将多个流合并为单个流。
  • pumpify - 将一组流组合成单个双工流。
  • into-stream - 将缓冲区/字符串/数组/对象转换为流。
  • duplexify - 将可写和可读流转换为单个 streams2 双工流。
  • from2 - 受 through2 启发的 ReadableStream 便捷包装器。
  • binary-split - 换行符(或任意分隔符)分割流。
  • through2-concurrent - 并发转换对象流。
  • peek-stream - 转换流,允许在决定如何解析之前先查看第一行。
  • first-chunk-stream - 转换流中的第一个数据块。
  • pad-stream - 填充流中的每一行。

网络 ​

  • get-port - 获取可用端口。
  • netcat - 纯 JavaScript 实现的 Netcat 端口工具。
  • getmac - 获取计算机 MAC 地址。
  • DHCP - DHCP 客户端和服务器。
  • ipify - 获取你的公网 IP 地址。

数字 ​

包管理器 ​

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

发现 ​

新闻通讯 ​

  • Node Weekly - 每周 Node.js 新闻与文章电子邮件汇总。

视频 ​

博客 ​

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

鄂公网安备:42011202001971号      鄂ICP备:2021009343号