node libs
https://github.com/sindresorhus/awesome-nodejs
https://github.com/zerolab-fe/awesome-nodejs
AI
Build tools
- pkg - 将 Node.js 项目打包成可执行文件
- gulp - 基于流(stream)的自动化构建工具
- parcel - 开箱即用、零配置的打包器
- rollup - Next-generation ES2015 module bundler
- webpack - 静态模块打包工具
- @vercel/ncc - 将 Node.js 项目编译为单个文件
Command-line apps
- npm-run-all - 可以并行运行多个 npm 脚本
- auto-install - 在编码时自动安装依赖
- wifi-password-cli - 获取当前 wifi 密码
- fkill-cli - 杀死进程,交互式,跨平台
- node-bcat - 将日志实时输出到浏览器
- live-server - 具有 livereload 功能的开发 HTTP 服务器
- http-server - 一个简单的零配置命令行 http 服务器
- david - 检测 npm 依赖是否过时
- is-online - 检查互联网连接是否建立
- pageres - 捕获各种分辨率的网站屏幕截图
- speed-test - 使用 speedtest.net 测试网速和ping
- trash - 将文件移动到回收站,
rm
的安全替代方法 - gh-home - 打开给定或当前仓库的GitHub页面
- npm-name - 检查软件包或组织名称在npm上是否可用
- np - A better
npm publish
- gh - GitHub的官方命令行工具
Command-line utilities
- commander - 完整的 node.js 命令行解决方案
- color - Javascript 颜色转换和操作库
- update-check - 检查模块是否有更新
- minimist - 标准命令行参数解析工具
- figlet - 将普通终端文本转换为大字母,如 logo
- clear - 清空终端屏幕
- figures - 在 windows 或其他终端显示 Unicode 符号
- ansi-escapes - 用于 ANSI 码转义
- log-symbols - 为 log 添加彩色符号(info、success、warning、error)
- conf - 轻松设置配置信息
- listr - Terminal 任务列表
- ink - 使用 React 写命令行应用
- log-update - 在 Terminal 渲染进度条或动画
- ora - Terminal spinner
- yargs - 命令行参数解析工具
- enquirer - 用于创建交互式 CLI 提示
- chalk - 在 Terminal 设置字符串颜色
Database
- mysql - MySQL client
- mongoose - 全能的 MongoDB ORM 库
- sequelize - 一款支持 mysql, sqlite3, pg, msssql 的多功能 ORM 库
Date
- dateformat - 日期格式化
- dayjs - 一个轻量的日期库,具有和 Moment.js 兼容的API
- date-fns - 日期工具类库,提供了最全面、最简单和一致的工具集
- Luxon - 一个用于在JS中处理日期和时间的库
Debug
- ndb - 由 Chrome DevTools 支持的 Node.js 调试工具
- spy-debugger - 页面远程调试 & 抓包工具
- vconsole - 微信小程序推出的调试工具,直接内嵌在页面内,支持控制台、网络、系统信息
- node-inspector - Node debugger 和 Devtools 结合的调试工具
- debug - 最好用的 debug 日志辅助工具
Documentation
- esdoc - JavaScript 的文档生成器
- documentation - API文档生成器,支持 ES6+
Electron
- electron-store - 用来保存 Electron 应用程序或模块的简单持久性数据
- mjml - 一个标识语言,用来减少编写响应式邮件的复杂度
- email-templates - 电子邮件模板
- emailjs - 发送电子邮件(smtp 协议)
- nodemailer - 快速轻松发送电子邮件
Filesystem
- nsfw - 一个简单文件监听库
- mkdirp - 递归创建目录
- tempy - 获取随机的临时文件或目录路径
- move-file - 移动文件
- pkg-dir - 查找 npm 或 Node.js 包的根目录
- istextorbinary - 检查文件是文本文件还是二进制文件
- filenamify - 将字符串转换为有效的安全文件名
- write-json-file - Stringify and write JSON to a file atomically
- load-json-file - Read and parse a JSON file
- proper-lockfile - 进程间或机器间文件锁🔐
- find-up - 遍历父目录查找文件
- chokidar - 监听文件变化
- fs-extra - 基于
fs
的扩展 - make-dir - 递归创建目录
- rimraf - 递归删除文件
- cpy - Copy files
- fast-glob - 快速的 Node.js 匹配库
- globby - 基于
fast-glob
并提供了扩展 - del - 删除文件和目录,基于
rimraf
和glob
- resolve-cwd - 从当前工作目录解析模块的路径
- clipboardy - 访问系统剪切板(copy/paste)
- micromatch - 高度优化的通配符和全局匹配库,minimatch 和 multimatch 的替代品
HTTP
- http-server - 静态文件服务器命令行工具,无需配置,一条命令开启 http 服务
- spdy - SPDY/HTTP2 服务器,兼容 Express
- anyproxy - 可供插件配置的HTTP/HTTPS代理服务器
- request-promise - request 模块的 promise 版本
- request - 简单易用的 HTTP 请求库
- serve - 为静态文件或单页面应用提供服务
- node-fetch -
window.fetch
for Node.js - superagent - 轻量的 HTTP 请求库
- http-proxy - 支持 websocket 的 HTTP 代理库
- download - 下载并解压文件
- axios - 基于 Promise 的 HTTP 客户端(也可在浏览器中使用)
- gh-got - 基于 got 的 GitHub API 封装
- got - 人性化且功能强大的 HTTP 请求库
- urllib - 处理复杂场景下的 HTTP 请求
Image
- probe-image-size - 无需完全下载即可获取图像格式和大小
- jimp - 完全用 JavaScrip t编写图像处理库
- lwip - 轻量级图像处理器
- gm - GraphicsMagick and ImageMagick for node
- image-type - 检测图像类型 Buffer/Uint8Array
- qrcode - 二维码和条形码生成器
- sharp - 高性能 node.js 图像处理库,使用 libvips 库来实现
Linter & Formatter
- textlint - Text 和 Markdown 校验和格式化
- prettier - ❤支持多种语言的代码格式化程序
- eslint - 插件化并且可配置的 JavaScript 语法规则和代码风格的检查工具
- standard - JavaScript 代码规范,自带 linter & 代码自动修正
Logger
- consola - Console Logger for Node.js and Browser
- signale - Console logger
- bunyan - Node.js 日志库
- log4js - 优质的 Node.js 日志库
- pino - 轻量的 node.js 日志库
- winston - 支持多传输、简单通用的日志库
Markdown
- mark-twain - 将 Markdown 解析为 JavaScript 对象
- marked-terminal - 将 markdown 渲染到 terminal
- marked - Markdown 解析器和编译器
Network
- portfinder - 自动获取可用端口
- getmac - 获取或校验 MAC 地址
- ipify - 获取公网 IP
- get-port - 获取一个可用的端口
- address - 获取 IP 和 MAC 地址
- public-ip - 获取公网 IP 地址
Node.js management
Other
- webtorrent - 用于 Node.js 和浏览器的BT种子视频下载与播放工具
Process management
- supervisor - 监听文件变化并自动重启
- nodemon - 监视 node.js 应用程序中的任何更改并自动重启服务器
- pm2 - 内置负载均衡的 node 进程管理器
Testing
TypeScript
- ts-node - 提供了 TypeScript 的运行环境
Utils
- qs - 序列化和反序列化 URL 参数
- query-string - 序列化和反序列化 URL 参数
- camelcase - 将破折号/点/下划线/空格分隔的字符串转换为 camelCase 或 PascalCase:foo-bar→fooBar
- dependency-check - 检查代码中使用到的模块是否在 package.json 列表中
- pify - 将采用 callback 方式进行调用的函数变成 Promise 调用
- serialize-javascript - 支持将 JavaScript 序列化为 JSON 超集的软件包
- path-to-regexp - 将路径字符串(如/user/:name)转换为正则表达式
- merge-stream - 将多个流合并为一个交错流
- resolve -
require.resolve()
的增强 - pkg-up - 查找最近的 package.json 文件
- mustache - 一个简单强大的 Javascript 模板引擎
- execa - 更好的子进程管理工具
- deepmerge - 递归合并 Javascript 对象的库
- cross-spawn - spawn 函数的跨平台处理
- cheerio - 为服务器特别定制的,快速、灵活、实施的jQuery核心实现
- json-schema-to-typescript - JSON 编译为 TypeScript
- set-value - 使用 . 符号给对象设置值,如:a.b.c
- os-locale - 获取系统环境语言
- dotenv - 通过 .env 文件将环境变量注入到
process.env
的模块 - open - 打开 URL、文件、可执行文件等,跨平台
- semver - node 的 semver 解析器
- yaml - YAML的解析和序列化库
- json5 - JSON5解析和序列化库
- fast-deep-equal - 深度相等检测
- clone-deep - 深拷贝
- fx - 命令行JSON处理工具,具有格式化、突出显示、互动模式等特性
- ervy - 在 terminal 绘制图表
- awilix - Node.js 依赖注入(DI)模块
Web framework
- ws - 轻量快速,易测试的 WebSocket 框架
- socket.io - 强大的 WebSocket 框架
- beidou - Egg / React 同构框架,性能强劲,支持客户端渲染降级
- nuxt - Vue 同构框架
- next - React 同构框架
- micro - 异步编程特色的微服务框架
- restify - 基于 connect,同时支持 Server / Client
- feathersjs - 【微服务】富有 Hook 特色的微服务框架
- @hapi/hapi - 【微服务】一款极简的框架,常用于 API Gateway
- nest - 对标 Spring Boot 的企业级框架,提供了便利的装饰器
- egg - 基于 Koa,强大的 loader / plugin 等机制
- fastify - 提出 JSON Schema,使得序列化更快速,性能强大的框架
- meteor - 可能是 Node.js 上最出色的全栈框架
- koa - 新一代 web 框架,由 Express 幕后的原班人马打造
- express - Node.js Web 应用程序框架