Skip to content

Latest commit

 

History

History
414 lines (274 loc) · 20.5 KB

by_sindresorhus.md

File metadata and controls

414 lines (274 loc) · 20.5 KB

sindresorhus/awesome-nodejs

@sindresorhus 整理

Awesome Node.js

A curated list of delightful Node.js packages and resources.

Inspired by the awesome list thing.

函数式编程

  • Lo-Dash - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
  • Mout - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
  • mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
  • Folktale - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant modular applications with fewer bugs, and more reuse.

命令行应用

  • npm - A package-manager for Node.js.
  • Bower - A package manager for the web.
  • Yo - Run Yeoman generators.
  • Pageres - Responsive website screenshots.
  • PM2 - Advanced Process Manager for Node.js.
  • trash - A safer alternative to rm.
  • ESLint - The pluggable linting utility for JavaScript.
  • JSHint - A community-driven tool to detect errors and potential problems in JavaScript code.
  • cpy - Copy files.
  • torrent - Download torrents.
  • David - Tells you when your package npm dependencies are out of date.
  • vtop - More better top, with nice charts.
  • tmpin - Adds stdin support to any CLI app that accepts file input.

HTTP

  • request - Simplified HTTP request client.
  • got - A nicer interface to the built-in http module.
  • superagent - A small progressive HTTP request library.
  • hyperquest - Streaming HTTP requests.

调试 / 分析

  • node-inspector - Debugger based on Blink Developer Tools.
  • Theseus - A new type of JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree.
  • longjohn - Long stack traces with configurable call trace length.
  • debug - Tiny debugging utility.
  • jstrace - Dynamic tracing for JavaScript, similar to dtrace, ktap etc.
  • TraceGL - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens.

日志

  • winston - A multi-transport async logging library.
  • Bunyan - A simple and fast JSON logging library.

Web框架

  • Koa - A new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
  • Express - A minimal and flexible web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
  • Hapi - A rich framework for building applications and services.
  • Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.
  • SailsJS - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API.
  • Restify - A node framework built specifically to enable you to build correct REST web services.

命令行实用工具

  • chalk - Terminal string styling done right.
  • minimist - Parse command-line flags
  • Inquirer.js - Interactive command-line prompt.
  • update-notifier - Update notifications for your CLI app.
  • sudo-block - Block users from running your app with root permissions.
  • configstore - Easily load and persist config without having to think about where and how.
  • insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
  • blessed - A curses-like library.
  • cli-table - Pretty unicode tables.
  • drawille - Draw on the terminal with unicode braille characters.
  • progress - Flexible ascii progress bar.
  • log-symbols - Colored symbols for various log levels.
  • columnify - Create text-based columns suitable for console output. Supports cell wrapping.

构建工具

  • gulp.js - Streaming and fast build system that favors code over config.
  • grunt - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc.
  • Broccoli - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
  • browserify - Browser-side require() the Node.js way.

模板

  • handlebars.js - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks.
  • hogan.js - Twitter's small, fast, phase-separated compiler for Mustache templates.
  • Jade - High performance template engine heavily influenced by Haml.
  • nunjucks - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired).

文档

  • Docco - A quick-and-dirty documentation generator which produces an HTML document that displays your comments intermingled with your code.
  • JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
  • dox - JavaScript documentation generator for Node.js using Markdown and JSDoc.
  • jsdox - JSDoc3 to Markdown documentation generator.

文件系统

  • del - Delete files/folders using globs.
  • globby - Glob files with support for multiple patterns.
  • cpy - Copy files.
  • rimraf - Recursively delete files like rm -rf.
  • mkdirp - Recursively create directories like mkdir -p.
  • graceful-fs - Drop-in replacement for the fs module with various improvements.
  • fs-extra - Extra methods for the fs module.

控制流

  • Callbacks
    • each-async - Async concurrent iterator like forEach.
    • async - Provides straight-forward, powerful functions for working with asynchronousity.
  • Generators
    • co - The ultimate generator based flow-control goodness.
  • Promises
    • native-promise-only - A polyfill for native ES6 Promises.
    • Bluebird - A fully featured promise library with focus on innovative features and performance.
    • Q - A tool for making and composing asynchronous promises.
  • Streams
    • Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.

实时交互

  • Socket.io - Enables real-time bidirectional event-based communication.
  • SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
  • Primus - An abstraction layer for real-time frameworks to prevent module lock-in.

日期

图像

  • sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
  • image-type - Detect the image type of a Buffer/Uint8Array.
  • gm - GraphicsMagick and ImageMagick wrapper.

文本

数学

  • ndarray - Multidimensional arrays.
  • mathjs - JavaScript和Node.js数学库扩展.

数据验证

  • joi - Object schema description language and validator for JavaScript objects.

解析

  • css - CSS parser / stringifier.
  • strip-json-comments - Strip comments from JSON.
  • marked - A markdown parser and compiler built for speed.
  • js-yaml - Very fast YAML parser.
  • URI.js - URL mutation.
  • JSONStream - Streaming JSON.parse and stringify.
  • csv-parser - Streaming CSV parser that aims to be faster than everyone else.

人性化

  • pretty-bytes - Convert bytes to a human readable string: 13371.34 kB.
  • pretty-ms - Convert milliseconds to a human readable string: 133700000015d 11h 23m 20s.
  • ms - Tiny milisecond conversion utility.
  • pretty-error - Errors with less clutter.
  • humanize - Data formatter for human readability.
  • node-read - Extract readable content from any page.

压缩

网络

静态网站生成器

  • Metalsmith - An extremely simple, pluggable static site generator.
  • Wintersmith - Flexible, minimalistic, multi-platform static site generator.
  • Assemble - Static site generator for Node.js, Grunt.js, and Yeoman.

内容管理系统

  • KeystoneJS - CMS and web application platform built on Express and MongoDB.
  • Calipso - A simple content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple.
  • Apostrophe2 - A content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.

论坛

  • nodeBB - A better forum platform for the modern web.

博客

  • ghost - Simple, powerful publishing platform that allows you to share your story with the world.
  • Hexo - Fast, simple and powerful blogging framework.

数据库

  • 驱动器
    • LevelUP - LevelDB, Node.js style.
    • MongoDB - Native MongoDB driver for Node.js.
    • MySQL - A pure Node.js JavaScript Client implementing the MySQL protocol.
    • PostgreSQL - PostgreSQL client for node.js. Pure JavaScript and native libpq bindings.
    • Redis - Redis client for Node.js.
  • ODM / ORM
    • Bookshelf - A Node.js ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
    • Mongoose - Elegant MongoDB object modeling for Node.js.
    • Sequelize - Multi-dialect ORM. Supports SQLite, MySQL, PostgreSQL.
  • 查询构建器
    • Knex - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.

测试

  • tape - TAP-producing test harness.
  • Mocha - A feature-rich test framework making asynchronous testing simple and fun.
  • loadtest - Run load tests for your web application, with an API for automation.

缩小

身份验证

  • Passport - Simple, unobtrusive authentication.
  • everyauth - Authentication and authorization (password, facebook, & more) for your Connect and Express apps.

Node.js管理

  • n - Node.js version management.
  • nave - Virtual Environments for Node.js.
  • nodeenv - A Node.js virtual environment compatible to Python's virtualenv.

多边形填充

AST

  • Esprima - A high performance, standard-compliant JavaScript parser.
  • Rocambole - Recursively walk and transform JavaScript AST.

奇艺

混合

  • multiline - Multiline strings in JavaScript.
  • opn - Opens stuff like websites, files, executables.
  • semver - semver parser.
  • cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
  • require-uncached - Require a module bypassing the cache.
  • Faker.js - Generate massive amounts of fake data.
  • peerflix - Streaming torrent client.

资源

教程

文章

视频

播客

书籍

博客

  • Node.js博客
  • HowToNode - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code.

课程

工具

  • GitHub Linker - Chrome extension that linkifies dependencies in package.json on GitHub.

贡献

欢迎捐献! 请首先阅读贡献的指导方针.

许可证

CC0

To the extent possible under law, Sindre Sorhus has waived all copyright and related or neighboring rights to this work.