🚀 A collection of awesome npm packages for Noders.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitattributes
.gitignore
LICENSE
README-en.md
README.md
_config.yml
code-of-conduct.md
contributing-en.md
contributing.md

README.md

awesome-npm-packages

Awesome

这个仓库主要是收集一些非常好用的 npm package,主要面向使用 Node 的开发者。欢迎 Star 或 Fork。如果你有任何想法,或者知道一些好用的 package,请猛戳 PR 或 Issues 一起参与完善。非常欢迎您的参与,请在参与之前阅读 贡献指南 以更好的协作。

中文 | English

目录

工具库

  • lodash - npm npm GitHub last commit 具有一致接口、模块化、高性能等特性的现代化 JavaScript 工具库。
  • underscore - 跟 lodash 类似,提供了一系列有用的辅助函数。
  • ramda - 完全函数式编程思想实现的 Javascript 实用工具库。
  • delay - 在一定的时间内延迟执行 Promise。
  • eslint - 功能强大的 JavaScript 代码风格检查报告工具。
  • eslint-friendly-formatter - 以一种更加友好(指出文件和行号)的方式反馈 eslint 的错误。
  • eslint-config-airbnb - Airbnb JavaScript 代码风格的 ESLint 配置文件,包含 ECMAScript 6+ 和 React。
  • eslint-config-airbnb-base - Airbnb JavaScript 代码风格的 ESLint 配置文件,包含 ECMAScript 6+。
  • http-proxy - 支持 websockets 的 HTTP 代理库。
  • jsonwebtoken - JsonWebToken 在 Node 中的实践方案。
  • bcryptjs - 更好的 bcrypt 解决方案。
  • md5-file - 让你更轻松的计算文件的 MD5。
  • markdown-it - 快速、易扩展的 Markdown 解析器。
  • marked - 又一个全功能的 Markdown 解析器。
  • node-forge - TLS 和其他各种加密方式的原生实现。
  • pretty-bytes - 将字节转换成人类易读的字符串,例如:1337 → 1.34 kB。
  • filesize - 同样将文件大小格式的字符串转换成人类易读的字符串的工具。
  • qr-image - 二维码生成器。
  • socket.io - 这可能是史上最强大的 socket 实现库了。
  • validator - 字符串格式校验工具。
  • connect - 使用中间件机制的可扩展的 HTTP 服务框架。
  • passport - 强大的用户身份验证中间件。
  • dark-mode - 控制 macOS 的夜间模式状态。
  • run-jxa - 在 macOS 平台上通过 osascript 运行指定脚本。
  • js-yaml - 非常高效的 YAML 格式文件解析库。
  • csv - 简洁而又功能强大的 CSV 格式解析器。
  • moment - 这可能是功能最强大的时间、日期处理库了。
  • date-fns - 提供最全面、简单、一致的时间工具集,支持按需引入。
  • bluebird - 高性能的 promise 全特性实现库。
  • sequelize - 简单易用、支持多 SQL 语言的 ORM 实现。
  • opn - 跨平台的打开指定文件或者网站的小工具。
  • rabbit.js - 在 Node.JS 中使用 RabbitMQ 队列服务。
  • kue - 基于 redis 实现的 消息队列服务。
  • request - 简单、强大的 HTTP 请求库。
  • cheerio - 快速、灵活、针对服务端实现的 jQuery 核心 API 工具。
  • path-exists - 检测指定的路径是否存在。
  • conf - 让你非常容易的对应用或模块做配置处理。
  • nconf - 通过解析配置文件、环境变量、命令行参数让你轻松进行配置数据分层处理。
  • config - Node 应用的配置文件统一管理工具。
  • axios - 能够同时用于浏览器端和 Node.js 端的基于 Promise 的 HTTP 客户端。
  • uuid - 生成符合 RFC 规范的 UUID。
  • nanoid - 轻量级、安全、URL 友好的唯一字符串生成器。
  • fs-extra - 添加了很多原生 fs 模块中没有但实用的方法。
  • recursive-readdir - 递归列出目录及其子目录中的所有文件,不会列出目录。
  • mkdirp - Shell 命令 mkdir -p 的实现。
  • del - 删除指定的文件或目录。
  • busboy - 响应 HTML 表单数据的流解析器。
  • mongoose - 基于异步环境的 MongoDB 对象模型设计库。
  • semver - semver 语义化版本号解析器。
  • debug - 轻量级的兼容 Node 和浏览器环境的 debug log 管理工具。
  • log4js - 功能强大的日志管理工具,灵活适应多个环境。
  • pino - 拥有极高性能的日志分类管理的工具。
  • node-emoji - ✨ 在 Node.js 环境中使用 emoji 表情。
  • graceful-fs - 文件系统模块的替代模块,优化了很多原生模块的不足。
  • lockfile - 轻量级的添加文件锁的实用工具。
  • mime-types - 根据文件类型判断其 content-type。
  • ajv - 性能极佳的 JSON Schema 验证工具。
  • randomatic - 随机字符串生成器。
  • yauzl - 对文件进行解压(unzip)的工具。
  • portfinder - 当端口冲突时快速获取一个可用端口。
  • detect-port - 端口检测器。
  • cross-env - 兼容多平台的环境变量设置和获取工具。
  • tcomb - 兼容 Node 和浏览器环境的 Javascript 变量类型运行时检测工具。
  • hosted-git-info - 解析和转换 git host URL。

网络服务框架

  • express - 极简、灵活的 web 应用开发框架,提供了一系列强大的特性,帮助你创建各种Web 和移动设备应用。
  • koa - 由 express 原班人马打造的号称下一代的轻量级 web 应用开发框架。
  • Meteor - 用来开发实时网页程序的前后端同构框架。
  • hapi - 简单易用、以配置为中心的 web 服务框架。
  • egg - 阿里开源的为企业级框架和应用而生的服务端框架。
  • micro - 轻量级的微服务框架。
  • restify - 专注于构建 REST API 服务的轻量级服务端框架。
  • fastify - 性能优先并开销极低的服务端框架。

Express 中间件

  • compression - 请求压缩中间件,支持 deflate、gzip 编码压缩。
  • body-parser - 解析请求体的中间件。
  • express-session - session 管理中间件。
  • cookie-parser - 处理 Cookie 的中间件。
  • cookie-session - 基于 Cookie 实现 session 管理的中间件。
  • connect-timeout - 设置和管理请求超时时间的中间件。
  • csurf - CSRF 中间件。
  • cors - 用于启用 CORS 的中间件。
  • errorhandler - 用于开发环境处理错误信息的中间件。
  • morgan - Http 请求日志中间件。
  • response-time - 记录请求响应时间的中间件。
  • serve-favicon - favicon 服务中间节。
  • serve-index - 基于给定的路径渲染出目录列表。
  • serve-static - 提供静态文件服务。
  • vhost - 很方便的域名处理中间节。
  • express-validator - 依赖 validator 工具库实现的 express 验证中间件。
  • connect-redis - Redis session 存储中间件。
  • multer - 响应 multipart/form-data 的中间件。
  • helmet - 通过设置各种 HTTP 请求头,提高 Express 应用的安全性。

Koa 中间件

  • koa-router - Express 风格的路由处理中间件。
  • koa-static - 静态文件服务中间件。
  • koa-static-cache - 静态文件缓存中间件。
  • koa-session - 基于 cookie 的 session 中间件。
  • koa-favicon - favicon 服务中间件。
  • koa-compress - 压缩中间件。
  • koa-csrf - CSRF tokens 中间件。
  • koa-logger - 开发环境的日志记录中间件。
  • koa-react-view - React 服务端渲染中间件。
  • koa-redis - 使用 Redis 持久化 session 的中间件。
  • koa-bodyparser - 请求体内容解析中间件。
  • koa-ratelimit -请求频率限制中间件。
  • koa-jwt - JSON Web Tokens 验证中间件。
  • koa-multer - 响应 multipart/form-data 的中间件。
  • koa-locales - 实现多语言支持的中间件。
  • koa-markdown - 自动转化 Markdown 文件为 HTML 文件的中间件。
  • koa-helmet - 通过设置各种 HTTP 请求头,提高 Koa 应用的安全性。

测试工具

  • mocha - 简单、灵活、强大的 Node.js 单元测试框架。
  • ava - 面向未来的 Javascript 单元测试框架。
  • supertest - 专注测试 HTTP 服务的一款非常强大的测试工具。
  • istanbul - 测试代码覆盖率检测工具。
  • nyc - 支持 ava 的 istanbul 风格测试代码覆盖率检测工具。
  • faker - 让你在 Node 端和浏览器轻松构建大量用户信息的模拟数据。
  • mock-fs - 通过复写 fs 原生模块在内存中达到 Mock 文件的目的。
  • mock-require - 轻松、直观的 Mock 任何你想要操作的模块。
  • rewire - 对指定模块的私有成员进行单元测试。
  • chai - 兼容所有测试框架的跨平台 BDD / TDD 风格断言库,支持 Node.js 和浏览器。
  • should - BDD 风格的断言库。
  • expect.js - 基于 should 的 BDD 风格断言库。
  • power-assert - 没有记忆成本的断言库,大多数情况只需使用assert()一个方法即可。
  • tempfile - 获取随机的临时文件路径。
  • temp-write - 将字符串 / buffer / stream 写入随机的临时文件中。

命令行工具

  • npm - Node.js 包管理工具。
  • yarn - 快速、可靠和安全的依赖管理工具。
  • puer - 具有 web 服务、自动重载、Mock 数据等多种功能的前端开发效率提升工具。
  • nrm - 非常方便的 NPM 源管理工具。
  • gh-pages-deploy - 通过读取 package.json 里的配置自动发布内容到 gh-pages
  • decheck - 使用命令行查看一个 npm 模块的依赖项。
  • coffee-script - 一种采用优雅的语法并编译到 JavaScript 的小语种。
  • commitizen - 让你轻松写成符合社区建议的 commit 格式的交互式工具。
  • eslint - Javascript 代码风格工具。
  • express-generator - Express 应用目录生成器。
  • koa-generator - Koa 应用目录生成器。
  • fecs - 百度出品的前端代码风格工具。
  • font-spider - 智能 WebFont 压缩工具,它能自动分析出页面使用的 WebFont 并进行按需压缩。
  • gifify - 通过命令行将视频转换为 GIF 动态图片。
  • gitbook-cli - GitBook 的命令行工具。
  • gitmoji-cli - 在 commit 信息中使用 emojis 的交互式工具。
  • hexo-cli - 静态博客系统 Hexo 的命令行工具。
  • ionic - Ionic 的命令行工具。
  • mjml - 轻松创建响应式邮件的命令行工具。
  • ngrok - ngrok 2 的 Node 版。
  • node-inspector - 基于 Blink 开发者工具的 Node.js 应用调试器。
  • nodemon - 开发阶段的应用热重载工具。
  • nodeppt - 功能强大的网页版演示库。
  • npms-cli - 命令行版的 npm package 搜索器。
  • placemat-cli - 开发阶段获取随机图片进行网站占位。
  • pm2 - 强大的负载均衡和进程管理工具。
  • slush - 基于流的应用脚手架生成器。
  • tldr - tldr 的命令行工具。
  • trash-cli - 移动文件至垃圾桶中,安心的删除文件。
  • lerna - 同时管理多个包的 Javascript 项目管理工具。
  • serve - 用于开发阶段的本地静态文件服务工具。
  • json-server - 零配置构建全能 REST API 风格的数据 Mock 服务器。
  • carbon-now-cli - 在终端使用 carbon.now.sh 服务。

命令行开发工具库

  • commander - 开发命令行工具的完整解决方案。
  • caporal - 特性全面的开发命令行工具框架。
  • yargs - 轻松解析命令行参数。
  • args - 开发命令行工具一个轻量级解决方案。
  • chalk - 让你的终端字符变得丰富多彩、五颜六色。
  • colors - 又一个给控制台中的字符添加颜色和样式的工具库。
  • consola - 用于开发 CLI 应用的优雅输出工具。
  • signale - 带有丰富的 loggers 并且 Hackable 的终端优雅输出工具。
  • chokidar - 更好的 fs.watch / fs.watchFile 替代方案。
  • glob - 使用 shell 模式来匹配文件路径。
  • mkdirp - mkdir -p 命令的 Node 实现。
  • ora - 非常方便的实现终端 loading 动画效果。
  • progress - 在终端实现的 ascii loading 效果,提供了丰富灵活的配置。
  • ssh2 - SSH2 的客户端和服务端实现方案。
  • cliparoo - 复制指定字符串到系统剪贴板。
  • clipboardy - 提供跨平台级的剪贴板操作支持。
  • inquirer - 提供了常见的几种交互式式命令行形式。
  • execa - 更好用的 child_process 替代方案。
  • node-notifier - 跨平台的发送系统原生通知的工具。
  • quick-local-ip - 快速获取本机 ip 的小工具。
  • ip - 提供了一些实用的 IP 相关的方法。可以获取 IP 地址、比较 IP地址和验证 IP 地址等。
  • update-notifier - 以非侵入性的方式(使用子进程“异步”检测)检查全局的包是否需要更新并自动通知用户。
  • update-check - 通过暂时阻塞命令执行的“同步”方式检测全局的包是否需要更新。
  • path-type - 检测指定的路径是否是文件、目录的工具库。
  • boxen - 在终端中创建出盒子(矩形)。
  • dargs - 将对象反向序列化为命令行参数形式的数组。
  • shelljs - 执行 Unix shell 命令。

前端 JS 库

  • rxjs - 大名鼎鼎的 Reactive 反应式编程的 JS 实现。
  • clipboard.js - 这可能是最好用的复制到剪贴板的工具库了。
  • g2 - 蚂蚁金服出品的数据可视化库。

React 周边

  • react - Facebook 开发的大名鼎鼎的构建用户界面的轻量级框架。
  • react-dom - Facebook 开发的大名鼎鼎的构建用户界面的轻量级框架 React 的 DOM 端。
  • redux - 可预测的 JavaScript 应用程序的状态管理容器。
  • react-redux - Redux 官方实现的绑定至 React 库。
  • react-router-dom - 为 react 而生的声明式路由库。
  • react-router-config - React Router 的静态路由配置助手。
  • react-router-redux - 将你的应用状态和路由保持同步。
  • redux-observable - 在 redux 中使用 RxJS 的中间件。
  • @reach/router - React Router 原作者打造的另一款具有极简 API 的轻量级路由库。

Vue 周边

  • vue - 构建 Web UI 的渐进式 JavaScript 框架。
  • vue-cli - Vue 项目脚手架。
  • vuetify - Material 设计风格的 UI 组件库。

webpack 周边

babel 周边

gulp 周边

  • gulp - 基于流的前端自动化构建工具。
  • gulp-changed - 通过比较源文件和生成文件来实现 Gulp 的增量编译。
  • gulp-cached - 通过在内存中缓存文件和内容来实现 Gulp 的增量编译。
  • gulp-remember - 同样在内存中缓存所有文件来实现 Gulp 的增量编译,和 gulp-cached 搭配使用效果更好。
  • gulp-newer - 同样通过比较源文件和生成文件来实现 Gulp 的增量编译。
  • gulp-gh-pages - 使用 Gulp 自动部署内容到 GitHub pages。
  • gulp-yaml - 将 YAML 文件转化为 JSON 的工具。
  • gulp-imagemin - 在 Gulp 中自动进行图片压缩。
  • gulp-imageisux - 智图 的 Gulp 插件。
  • gulp-lazyimagecss - 高效地书写 CSS 必备,自动生成图片CSS属性,如:width & height 等。
  • gulp-svg-inline - 内联 svg 文件到 CSS。
  • gulp-svg-symbols - 转化 svg 为 symbols。
  • gulp-cssnano - 在 Gulp 中使用 cssnano 进行 CSS 压缩。
  • gulp-postcss - 在 Gulp 中使用 PostCSS。
  • gulp-autoprefixer - 在 Gulp 中使用 Autoprefixer 进行 CSS 前缀自动补全。
  • gulp-babel - Babel 的 Gulp 插件。
  • gulp-if - 有条件的运行任务。
  • gulp-uglify - 使用 UglifyJS2 来压缩 JS 文件。
  • gulp-less - LESS 编译插件。
  • gulp-rename - 让你很容易的重命名一些文件。
  • gulp-replace - 一个字符串替换

CSS 相关

  • hamburgers - 使用 CSS 制作的各种 hamburger 动画图标。

其他

  • pell - 非常轻量级且无依赖的 Web WYSIWYG(所见即所得)编辑器,能够轻松和 Vue、React 集成。