Code Monkey home page Code Monkey logo

awesome-nodejs-cn's Introduction

Node.js 资源大全中文版

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

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

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

中文版由开源前哨前端大全微信公号团队维护更新,欢迎在 Github 上关注。这个中文版的资源库会定期同步更新到这里。

本项目的参与者

资源列表

资源列表


黑科技

  • 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 实现的 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 风格强制执行严格代码风格
  • Standard - JavaScript 标准样式 - 规范所有样式的样式
  • ESLint - JavaScript 可插式的代码规范检查工具
  • 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 暗黑模式
  • iponmap - IP 地址查找器
  • 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-cli - 170 种货币汇率转换
  • 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 模块提供更好的接口
  • 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 - 基于 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 - 在运行时启动所有可访问变量的REPL
  • 0x - 一个火焰图分析工具
  • 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 - 简单的 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 语义的字符串解析为布尔值
  • 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-safe
  • cfonts - 控制台下的性感 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 和更高级的 blocks
  • EJS - 超级简单的模板语言.
  • 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.watchfs.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 - 完全重新设计的、方便日常使用的文件系统 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
  • Streams
    • Highland.js - 仅使用标准JavaScript 和类似 Node 的流,即可轻松管理同步和异步代码
  • Callbacks
    • each-async - 异步并发迭代器,如 forEach
    • async - 提供简单,强大的功能来处理异步问题
  • Channels
    • js-csp - 为 JavaScript 提供连续的通信(例如 Clojurescript core.async 或 Go)

文件流

实时

  • µ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.0
  • Aedes - 可以在任何流服务器上运行的 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 - 无需完全下载即可获取大多数图像格式的大小
  • 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 - 检测代码缩进.
  • he - HTML实体编码器/解码器.
  • i18n-node - 具有动态JSON存储的简单翻译模块.
  • babelfish - i18n,复数的语法非常简单.
  • matcher - 简单通配符匹配.
  • unhomoglyph - 规范化视觉上相似的unicode字符.
  • i18next - 国际化框架.
  • nanoid - 小巧、安全、URL友好、唯一的字符串ID生成器.

数字

数学

日期

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

URL

  • normalize-url - 规范化 URL
  • humanize-url - 可读化 URL: http://sindresorhus.comsindresorhus.com
  • url-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 和 stringify
  • 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 和 family 一样的思路
  • google-libphonenumber - 解析、格式化、存储和验证电话号码
  • ref - 读/写缓冲区中的结构化二进制数据
  • xlsx-populate - 读/写 Excel XLSX
  • Chevrotain - 非常快速且功能丰富的 JavaScript 解析程序构建工具包
  • fast-xml-parser - 验证和解析 XML

人性化

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

压缩

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

网络

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

数据库

  • 数据库驱动
  • ODM / ORM
    • Sequelize - 支持 PostgreSQL,SQLite,MySQL 以及更多数据库的 ORM
    • Bookshelf - Backbone.js 风格的PostgreSQL,MySQL 和 SQLite3 的 ORM
    • Massive - PostgreSQL 数据访问工具
    • 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
    • MikroORM - TypeScript 的基于数据映射的 ORM,使用工作单元和身份映射模式,支持 MongoDB,PostgreSQL,MySQL 和 SQLite
    • Prisma - TypeScript 的自动生成类型并且类型安全的查询构建器,可用于替代 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 构建的代码覆盖工具,可用于子流程.
  • tap - TAP 测试框架
  • tape - TAP 生产测试
  • power-assert - 通过标准的 assert 接口提供描述性断言消息
  • Mochify - 基于 Browserify,Mocha,PhantomJS 和 WebDriver 的测试驱动开发
  • trevor - 针对多个版本的 Node.js 运行测试,而无需手动切换版本或推送至 Travis CI
  • loadtest - 使用自动化 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 - 无头 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.js - Benchmarking 库,支持高分辨率计数器并且返回有意的统计结果
  • matcha - 简化的 Benchmarking 实现方案

代码压缩

认证

  • 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 - 将脚本作为本机系统服务运行并输出日志到 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 生态系统的现代静态网站生成器
  • 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 的仪表盘框架和无头 CMS
  • AdminBro - 为你所有的资源自动生成管理员界面

论坛

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

写博客

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

怪诞的

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

序列化

其他

  • 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
  • ssh2 - SSH2 客户端和服务端模块
  • adit - SSH 相关工具
  • import-lazy - 懒加载一个模块
  • file-type - 获得一个 Buffer 的文件类型
  • Bottleneck - 速率限制器,使流量控制变得容易
  • ow - 函数参数验证
  • webworker-threads - 使用原生线程的轻量级 Web Worker API
  • clipboardy - 访问系统的剪贴板 (复制和粘贴)
  • node-pre-gyp - 使从二进制发布安装 Node.js C++ 插件更简单的工具
  • opencv - Javascript 的 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 爬虫程序
  • jsdom - HTML 和 DOM 的 JavaScript 实现
  • hypernova - 服务端渲染 JavascSript 视图
  • @sindresorhus/is - 检查值和类型是否匹配
  • env-dot-prop - 使用 . 路径获取、设置或删除 process.env 的嵌套属性
  • emittery - 简单而现代的异步事件发生器
  • node-video-lib - 纯 JavaScript 编写的,用于处理 MP4 和 FLV 视频文件并为 HLS 流创建 MPEG-TS 块的视频工具库
  • basic-ftp - FTP/FTPS 客户端
  • cashify - 汇率转换
  • genepi - 自动从 C++ 代码中生成 Node.js addon
  • husky - 创建 Git 钩子脚本
  • patch-package - 对 npm 依赖进行修复和保持
  • editly - 声明式视频编辑 API

awesome-nodejs-cn's People

Contributors

huanglimin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-nodejs-cn's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.