这篇文章与大家分享优秀的 Node.js 中间件模块。Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。
commonlogger - A logger of HTTP requests.
compact - Join and compress frontend javascript.
compress - Gzip compresses (using node-compress) the response when appropriate based on request headers.
conditional - Handles conditional HTTP requests (If-Modified-Since, etc.)
contentlength - Sets Content-Length header.
csrf - Checks HTTP request for possible cross-site request forgery, flags dangerous requests.
extension - Transforms .extension to a RESTful Accept header
head - Handles HEAD requests (stripping body).
http-params - Converts HTTP parameters http- to headers.
media - Performs content type negotiation (per RFC2616) delegating to appropriate media handler.
redirect - Redirects to other URLs
rewriter - Rewrites defined paths to other paths.
routes - Simple RegExp based router
session - Session manager with pluggable storage handling
static - Static file handler using asynchronous streaming.
transporter - Share modules with browser, works RequireJS and Yabble
urlmap - Maps to different apps by path/URL
xsite - Handles JSONP, window.name, and cross-origin XHR (CORS).
connect-jade-static - Serving jade files as static html
aspa-express - Simple, dependency-free middleware for serving assets packaged with aspa.
browserify-middleware - Middleware for serving up node.js code with requires to the client.
bundle-up ― A simple asset manager middleware for managing css and js files.
client-certificate-auth - Basic TLS/SSL client certificate authentication
connect_facebook - Facebook session support for Connect
connect_json - Support for parsing JSON requests and sending JSON responses in Connect
connect-airbrake ― Airbrake error reporting auto-setup middleware
connect-assetmanager - Asset manager for Connect for handling CSS/JS files
connect-assets - Compiled CSS/JS asset pipeline inspired by Rails 3.1
connect-auth ― Connect authentication middleware, provides out-of-the-box implementations of HTTP (Basic & Digest), Twitter, Facebook, BitBucket, Janrain, Yahoo, Sina, Google, OAuth (1.0 server), Github and a couple of others....
connect-compiler ― Development middleware to dynamically recompile derived files at serve-time.
connect-dojo ― Connect middleware exposing the Dojo Toolkit
connect-domain ― Asynchronous error handler for Connect
connect-force-domain ― force all visitors onto a single domain
connect-gridfs ― GridFS file server for Connect
connect-http-signature ― middleware wrapper for Joyent's HTTP Signature reference implementation
connect-proxy ― Retrieve originating ip/host values when proxying to your connect app
connect-roles ― Dynamic roles based authorization for connect/express, designed to work well with passport and everyauth.
connect-rpx - Use RPX with Node.js and Connect
cookie-sessions ― Secure cookie-based session store
dispatch ― Regular expression URL dispatcher
everyauth ― Connect authentication and authorization middleware, modular, configurable, supporting password, OpenId, Google, OAuth, Twitter, LinkedIn, Yahoo, Readability, Dropbox, Justin.tv, Vimeo, Tumblr, OAuth2, Facebook, GitHub, Instagram, Foursquare, Box.net, LDAP
express-chromeframe ― Dead simple middleware to enable chromeframe on connect/express applications.
express-errors ― Simple error handling
facebook-wrapper ― Basic wrapper to the Facebook API, designed to work with Connect and Express
form2json ― Decoder for form-urlencoded data that supports arrays of nested objects
formaline - full-featured module for handling form POSTs/PUTs (multipart/form-data, application/x-www-form-urlencoded ) and fast parsing of file uploads, it speaks JSON and it is also ready for use with middlewares like connect.
http-accept ― Connect compatible middleware that parses HTTP Accept header fields
merge-js ― Simple connect middleware for merging multiple js files and uglifying the result.
mincer ― direct Sprockets assets manager port, with middleware for connect/express
minj ― Serve minified javascript files with Connect/Express
monomi ― Provides tools for handling tablet, touch, and mobile browsers
node_signedcookies ― Extends Express's cookieParser() to read/write signed cookies.
node-facebook-session-cookie ― eats facebook cookies from client FB.login() and makes the session available as req.fb_session
passport ― Simple, modular, and unobtrusive authentication framework for Connect and Express.
pound ― Pound is an high-level interface for Piler - The Awesome Asset Manager for Node.js
quip ― Chainable HTTP response API
resource-router ― A resource-oriented router to replace the default routing in express
resty ― Quickly and simply build REST APIs with this connect middleware
session-web-sockets ― Pass session to (Socket.IO-node) in a secure manner. Originally forked from bmeck/session-web-sockets
session.js ― super simple session middleware for node.js, even has optional "magic" sessions which monkey patch the httpServer with one line!
Shrinkroute - Named routes for Express. Helps you in achieving DRY routes!
trust-reverse-proxy - Trust (SSL) connections coming from (a) specific reverse prox(y)(ies)
bouncy ― bounce HTTP requests around for load balancing or as an HTTP host router
buffet ― Performance-oriented static file server & middleware
dota2api ― Dota2 api wrapper written in node.js
eventpipe ― Provides an Event Pipe with the same API as node.js' EventEmitter
exedra ― Express routes & functions loader
express-debug ― Express middleware that provides a debugging/object browser panel injected into your application.
express-couch-proxy ― CouchDB reverse proxy middleware for Express
express-twitter ― Twitter-specific OAuth support
googleclientlogin ― Log in to Google services using CllientLogin method
http-auth ― Node.js package for HTTP basic and digest access authentication.
htdigest ― Node.js package for HTTP Digest Authentication password file utility.
htpasswd ― Node.js package for HTTP Basic Authentication password file utility.
http-auth2 ― HTTP basic authentication that supports multiple logins.
http-proxy-selective ― Proxy server replace some remote static files with local ones
middler ― A middleware runner which can itself function as middleware, with routing
node-evented ― Extended EventEmitter
node-file-cache - Very small file cache for node.js http server.
node-force-domain ― Force multiple domains to redirect (301) to a default one in your Express project.
Node-Http-Rewrite-Proxy ― This module proxies and rewrites HTTP requests of all types. For this you can, if you want, use regular expressions.
node-reverse-proxy ― A reverse proxy which forwards incoming HTTP requests to multiple back-end HTTP servers based upon HTTP Host header.
node-varnish ― Connector for the Varnish cache telnet management protocol
notp ― NodeJS One Time Password authentication, compatible with Google Authenticator
onion ― Simple and flexible middleware stack that enables you to add a middleware layer to just about anything
protobuf_for_node ― In-process JS-to-C++ communication using protocol buffer services
protobuf ― A fork of protobuf_for_node with an npm package.
proxy-tamper ― A proxy server that allows for the tampering of requests and responses.
socket-logger ― JSON-parsable logs for Socket.IO that can push log messages to a client over Socket.IO.
subproxy - subdomain proxy (for example to proxy www.google.com with www.google.com.localhost)
proxima - HTTP/TLS(HTTPS) reverse proxy forwards incoming requests to upstream servers based on Host header or SNI host hint.
express-cors - Simple middleware for adding CORS functionality to your expressjs app.