Node.js Web 开发框架大全《中间件篇》

  这篇文章与大家分享优秀的 Node.js 中间件模块。Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。

 

JSGI

  • 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

  • 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)

Other middleware

  • 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.

 

 

本文来源:Node.js 入门手册:Web 框架大全《中间件篇》

编译来源:前端里 ◆ 关注前端开发技术 ◆ 分享网页设计资源

赞 (0) 打赏