Connect
Connect 是一个框架,它使用被称为中间件的模块化组件,以及重用的方式实现 Web 程序中的逻辑。在 Connect 中,中间件组件是一个函数,它拦截 HTTP 服务器提供的请求和响应对象,执行逻辑,然后结束响应,或者把它传递给下个中间件。Connect用分派器把中间件连接在一起
提供了一个常用的组件:请求日志、静态文件服务、请求体解析、会话管理等
搭建一个 Connect 程序
npm install connect
最小的 Connect 程序
var connect = require('connect');
var app = connect();
app.listen(3000);
Connect 的工作机制
在 Connect 中,中间件组件通常是一个 JavaScript 函数,按惯例会接收三个参数:一个请求对象、一个响应对象、还有一个通常命名为 next 的参数,它是一个回调函数,表明这个组件已经完成了它的工作,可以执行下一个中间件
为什么中间件的顺序很重要
Connect 允许你定义中间件的执行顺序
中间件什么时候不调用 next()
如果先调用的中间件没有执行 next(),后续的中间件将不会再被执行
用中间件的顺序执行认证
需要做认证时,几乎所有的程序都会被认证
挂载中间件和服务器
Connect 中有一个挂载的概念,这是一个简单而强大的组织工具,可以给中间件或整个程序定义一个路径前缀
var connect = require('connect');
connect.use('/admin', restrict).listen(3000);
创建可配置中间件
认证中间件
Basic 认证是一种简单的认证机制,借助带着 Base64 编码认证信息的 HTTP 请求头中的 authorization 字段进行认证
显示管理面板和中间件
中间件 admin 在请求 URL 上用 switch 语句做了一个原始的路由器
使用错误处理中间件
用函数返回另一个函数(闭包)
Connect 的默认错误处理器
自行处理程序错误
使用多个错误处理中间件组件
具体代码细节
FEATURED TAGS
        				
                            
                				
                                    前端开发
                                
                            
        				
                            
                				
                                    H5
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    JavaScript
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    设计模式
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    browser
                                
                            
        				
                            
        				
                            
                				
                                    jQuery
                                
                            
        				
                            
                				
                                    源码分析
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    生活
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    leetcode
                                
                            
        				
                            
                				
                                    Array
                                
                            
        				
                            
                				
                                    Stack
                                
                            
        				
                            
                				
                                    Queue
                                
                            
        				
                            
                				
                                    Linked List
                                
                            
        				
                            
                				
                                    剑指offer
                                
                            
        				
                            
                				
                                    Binary Search Tree
                                
                            
        				
                            
        				
                            
                				
                                    Binary Tree
                                
                            
        				
                            
                				
                                    Breadth-First Search
                                
                            
        				
                            
                				
                                    Depth-First Search
                                
                            
        				
                            
        				
                            
                				
                                    String
                                
                            
        				
                            
                				
                                    Set
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Binary Search
                                
                            
        				
                            
                				
                                    Sliding Window
                                
                            
        				
                            
                				
                                    Backtracking
                                
                            
        				
                            
                				
                                    Dynamic Programming
                                
                            
        				
                            
        				
                            
                				
                                    Two Pointers
                                
                            
        				
                            
                				
                                    Union Find
                                
                            
        				
                            
        				
                            
                				
                                    Sort
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Bit Operation
                                
                            
        				
                            
                				
                                    Recursion
                                
                            
        				
                            
                				
                                    Map
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Graph
                                
                            
        				
                            
        				
                            
                				
                                    Search
                                
                            
        				
                            
        				
                            
                				
                                    Hash
                                
                            
        				
                            
                				
                                    LinkedList
                                
                            
        				
                            
                				
                                    复盘
                                
                            
        				
                            
        				
                            
                				
                                    QuickSort
                                
                            
        				
                            
        				
                            
                				
                                    Trie
                                
                            
        				
                            
                				
                                    Design
                                
                            
        				
                            
                				
                                    MinHeap
                                
                            
        				
                            
        				
                            
        				
                            
                				
                                    Traverse
                                
                            
        				
                            
                				
                                    Min Heap
                                
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
        				
                            
                				
                                    Node.js
                                
                            
        				
                            
                				
                                    BackEnd
                                
                            
        				
                            
                				
                                    SQL
                                
                            
        				
                            
                				
                                    MySQL
                                
                            
        				
                            
                				
                                    Design Patterns
                                
                            
        				
                            
        				
                            
                				
                                    Network
                                
                            
        				
                            
                				
                                    计算机网络
                                
                            
        				
                            
                				
                                    Python
                                
                            
        				
                            
                				
                                    SVG