Skip to content

Latest commit

 

History

History
298 lines (224 loc) · 17 KB

awesome-nodejs.md

File metadata and controls

298 lines (224 loc) · 17 KB

Awesome-Node.JS-List

❤️ 收藏列表 - 👍 很棒的 Node.js 开发工具和生态技术。


Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 的模型,为 JavaScript 提供了一个服务器端应用程序开发平台,:point_right: https://nodejs.org/

OpenJS Foundation - 开源 JS 基金会,由 Node 基金会和 JS 基金会合并而成。

(Recommend)推荐一个其它的很棒的收藏列表,:point_right: https://github.com/sindresorhus/awesome-nodejs

目录

Resource navigation list.

技术规范标准

Official technical specifications.

Go Top ↑

技术参考文档

Official and unofficial technical reference documents.

Go Top ↑

Node 版本管理

Node version management, can install multiple versions at the same time, and switch at any time.

  • n - npm 包,Node 版本管理工具,不支持 Windows 系统
  • nvm - Node 版本管理,不支持 Windows 系统
  • nvm-windows - Node 版本管理工具,仅支持 Windows 系统

Go Top ↑

Node 包管理器

Node.js package (or library) manager.

  • Packages Manageer

  • Tool

    • nrm - npm 换源,非官方
    • Lerna - 管理 Monorepo 架构的 Node 模块代码库工具,非官方
    • Nx - 管理 Monorepo 架构的 Node 模块代码库工具,非官方
    • npm-check-updates - 项目依赖 npm 包批量更新工具,非官方
    • np - npm publish 的替代工具库,让发布更优雅、安全,非官方
    • Npm Trends - 可以查询对比多个 Npm 包的下载流量数据、star 数目等,非官方网站
    • Npm Charts - 可以查询对比多个 Npm 包的下载流量数据、star 数目等,非官方网站
    • BUNDLEPHOBIA - 分析 npm 包大小和依赖关系,非官方网站
    • Package Phobia - 分析 npm 包大小,非官方网站
    • njt - npm jump to,npm 包搜索并跳转到相应 npm 站点,非官方
    • npkill - 搜索系统中的 node_modules 文件夹并清理,非官方

Go Top ↑

工具库

Tool Library, some unofficial high-quality Node.js packages (or libraries).

  • 构建工具(Build Tools)

    • 编译器(Compiler)
      • Babel - 编译工具,可将 TypeScript、ES6/7/8 代码编译为 JavaScript(ES5) 代码。
      • TS Node - Node.js 的 TypeScript 语言运行器和交互式解释器。
    • Npm 模块(Npm Module && npm Package)
      • Rollup - 打包工具,适合开发库、框架。
    • Node 应用(Node App)
      • nodemon - 提供 Node.js 开发时热重载机制。
      • node-dev - 热重载。
  • 文档(Doc)

    • tldr - Unix 系统的 man pages 文档简化版本,更清晰易懂。
    • JSDoc - JavaScript 的 API 文档生成工具。
  • 测试(Test)

    • Mocha - 测试框架。
    • JEST - Facebook 出品的 JavaScript 单元测试工具。
    • JSON Server - 可快速启动一个提供 REST API 的服务器,并返回指定测试数据。
    • Nock - 模拟 API 服务,响应指定测试数据。
    • Mock.js - 模拟 API 服务,响应随机测试数据。
    • faker.js - 生成大量随机测试数据,可用来开发过程中进行 API 调试。
    • Chance - 生成随机的测试数据。
    • playwright - 跨浏览器 Web 自动化工具,Microsoft 发布
    • Browsersync - 浏览器同步调式工具,功能非常强大。
  • 代码静态分析(Code Lint)

    • ESLint - JavaScript 语法规则检查工具。
    • Prettier - 代码格式化工具,支持多种语言。
    • stylelint - CSS 语法规则检查工具,支持 CSS/Sass/CSS-in-JS 等。
    • Flow - Facebook 出品的 JavaScript 静态类型检查工具。
  • 代码版本管理(Code version management )

  • 进程管理(Process Manage)

    • Forever - Node 应用生产环境进程管理工具,使用简单方便。
    • PM2 - Node 应用生产环境进程管理工具,支持集群、负载、远程部署,提供收费服务的实时监控平台。
    • StrongLoop-PM - Node 应用生产环境进程管理工具,支持集群、负载、远程部署,提供收费服务的实时监控平台。
  • 实用工具(Utils)

    • Madge - 生成可视化的模块依赖图。
    • esm - 能够为 .js 文件提供 ECMAScript Modules 支持。
    • envinfo - 生成开发环境信息报告。
    • web-worker - 在浏览器和 Node.js 环境中实现一致的 Web Worker API。
    • tslog - 日志格式化。
    • uuid - 生成随机 id。
  • 时间日期(Date && Time)

    • ms - 毫秒格式化工具。
  • 二维码(QR Code)

  • 文件(File)

    • utils tools
      • fs-extra - 作为官方原生 fs 模块的补充和优化。
      • rimraf - 为 Node 提供类似 rm -rf 删除文件操作。
      • memfs - 内存文件系统。
      • rotating-file-stream - 文件流自动轮转,可用于日志文件分割,类似 UNIX logrotate
    • html/xml
      • jsdom - Web 标准的纯 JavaScript 实现。
      • cheerio - 包装了parse5htmlparser2 的轻量级 HTML 文档解析库,具有类 jQuery 的 api。
    • markdown
    • json5
      • JSON5 - JSON5 格式数据解析、序列化。
    • zip
    • csv
      • CSV - 功能全面的 csv 文件生成、解析、转换、序列化工具。
      • Papa Parse
    • pdf
      • PDF-LIB - 解析和操作 PDF 文件。
    • xlsx
      • exceljs - 读、写 xlsx、csv 文件。
      • xlsx - 读、写 xlsx、csv 文件(写功能部分特性不免费)。
    • docx
      • officegen - 生成 Office 文档。
      • docx - 生成 docx 文档。
    • image
      • sharp - 图像处理,拉伸、缩放、色彩提取等等,底层使用 libvips,无需安装其它依赖,开箱即用,效率更高。
      • gm - 图像处理,需先安装 GraphicsMagickImageMagick
  • 数学计算(Compute - Math & High precision & Scientific Computing)

  • HTTP 服务器(HTTP Server)

    • http-server - 可快速启动一个轻量的 http 服务器。
    • log4js - 日志记录。
  • HTTP 请求(HTTP Request)

    • axios - 处理 HTTP 请求的工具库,非常方便。
    • form-data - 创建 multipart/form-data 数据,并提供正确的 Headers。
    • formidable - 解析请求中的 multipart/form-data 数据。
    • Busboy - 解析请求中的 multipart/form-data 数据,支持流。
  • HTML 模板引擎(HTML Template Engines)

  • 远程过程调用(RPC)

    • Lounge - 现代的 Web RPC 客户端。
  • 套接字(Socket)

    • Socket.IO - 基于事件的实时通信框架,提供客户端和服务器实现。
    • ws - Node.js WebSocket 客户端和服务器。
  • 无头浏览器(Headless Browser)

  • 系统组件(System Components)

  • 命令行工具(Command line tool)

    • Caporal - 全功能命令行应用开发框架。
    • commander - 简单的命令行接口。
    • inquirer - 交互式命令行。
    • chalk - 终端输出字符串样式工具,支持全部的颜色。

Go Top ↑

数据库

Database.

  • mongodb - MongoDB 的 Node.js 驱动,MongoDB 官方发布

    • mongoose - 对象文档映射(ODM),对 mongodb 的封装,提供模型 Schema,API 更简洁、易用。
  • mysql - MySQL 的 Node.js 驱动,非官方发布

  • sqlite3 - SQLite 的 Node.js 驱动,异步、非阻塞,非官方发布

  • GraphQL - 开源的数据库查询语言。

  • Prisma - 数据库工具套件。

  • PostGraphile - 为已有的 PostgreSQL 数据库提供 GraphQL API 支持。

  • 对象关系映射(ORM)

    • TypeORM - 可以运行在所有 JS 技术栈中的 ORM 库,支持主流数据库。
    • Sequelize - 基于 Promise 的 Node.js ORM 库,支持 Postgres, MySQL, MariaDB, SQLite 和 Microsoft SQL Server。

Go Top ↑

Web 框架

Node.js-based server development framework.

  • Connect - 可扩展的 HTTP 服务器开发框架,使用中间件机制,早期的 Express 基于此开发。

  • Express - 非常成熟的 Web 开发框架。

    • express-session - Express 中间件,提供 Session-Cookie 机制的支持,官方发布
    • body-parser - Express 中间件,对 request 的 body 进行预处理,官方发布
    • Multer - Express 中间件,处理 multipart/form-data 表单数据,官方发布
    • morgan - Express 中间件,请求日志记录,官方发布
    • Passport.js - 身份验证中间件,可在基于 Express 的 Node.js 框架中使用。
  • Koa - 轻量级、高性能的 Web 框架,Express 团队开发。

  • Gatsby - 基于 React.js 的开源框架,可快速开发 Web 网站和应用,多用于制作静态资源站点。

Go Top ↑

桌面端开发

Desktop-side application development framework.

  • Electron - 基于 Node.js 与 Chromium 技术的开源跨平台桌面端应用开发解决方案。
  • NW.js - 基于 Node.js 与 Chromium 技术的开源跨平台桌面端应用开发解决方案。
  • Neutralino - 轻量级跨平台桌面端应用开发框架。

Go Top ↑

文章

Article.

Go Top ↑

更多

More other unclassified resources.

Go Top ↑