zoukankan      html  css  js  c++  java
  • Connect is a middleware layer for Node.js

     Connect is a middleware layer for Node.js   http://senchalabs.github.com/connect

    Connect

    Connect is an extensible HTTP server framework for node using "plugins" known as middleware.

    var connect = require('connect') var http = require('http') var app = connect()
    // gzip/deflate outgoing responses var compression = require('compression') app.use(compression())
    // store session state in browser cookie var cookieSession = require('cookie-session') app.use(cookieSession({     keys: ['secret1', 'secret2'] }))
    // parse urlencoded request bodies into req.body var bodyParser = require('body-parser')
    app.use(bodyParser.urlencoded())
    // respond to all requests app.use(function(req, res){   res.end('Hello from Connect! '); })
    //create node.js http server and listen on port http.createServer(app).listen(3000)
    Getting Started

    Connect is a simple framework to glue together various "middleware" to handle requests.

    Install Connect

    $ npm install connect

    Create an app

    The main component is a Connect "app". This will store all the middleware added and is, itself, a function.

    var app = connect();

    Use middleware

    The core of Connect is "using" middleware. Middleware are added as a "stack" where incoming requests will execute each middleware one-by-one until a middleware does not call next() within it.

    app.use(function middleware1(req, res, next) { // middleware 1 next(); }); app.use(function middleware2(req, res, next) { // middleware 2 next(); });

    Mount middleware

    The .use() method also takes an optional path string that is matched against the beginning of the incoming request URL. This allows for basic routing.

    app.use('/foo', function fooMiddleware(req, res, next) { // req.url starts with "/foo" next(); }); app.use('/bar', function barMiddleware(req, res, next) { // req.url starts with "/bar" next(); });

    Error middleware

    There are special cases of "error-handling" middleware. There are middleware where the function takes exactly 4 arguments. Errors that occur in the middleware added before the error middleware will invoke this middleware when errors occur.

    app.use(function onerror(err, req, res, next) { // an error occurred! });

    Create a server from the app

    The last step is to actually use the Connect app in a server. The .listen() method is a convenience to start a HTTP server.

    var server = app.listen(port);

    The app itself is really just a function with three arguments, so it can also be handed to .createServer() in Node.js.

    var server = http.createServer(app);

    Middleware

    These middleware and libraries are officially supported by the Connect/Express team:

    Most of these are exact ports of their Connect 2.x equivalents. The primary exception is cookie-session.

    Some middleware previously included with Connect are no longer supported by the Connect/Express team, are replaced by an alternative module, or should be superseded by a better module. Use one of these alternatives instead:

    Checkout http-framework for many other compatible middleware!

    Running Tests

    npm install npm test

    Contributors

    https://github.com/senchalabs/connect/graphs/contributors

    Node Compatibility

    • Connect < 1.x - node 0.2
    • Connect 1.x - node 0.4
    • Connect < 2.8 - node 0.6
    • Connect >= 2.8 < 3 - node 0.8
    • Connect >= 3 - node 0.10, 0.12; io.js 1.x, 2.x
  • 相关阅读:
    python之read()方法
    python之高阶函数
    python之lambda表达式的应用
    DevExpress.XtraGrid.view.gridview 说明文
    C# SQL时间格式
    GridControl自动定位至符合条件的行
    用sql命令修改数据表
    用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
    DevExpress中GridControl的属性设置及动态绑定数据和全选取消全选
    C# 导出数据到Excel模板中
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4648223.html
Copyright © 2011-2022 走看看