express框架中文官网
基于 Node.js 平台,快速、开放、极简的 web 开发框架。
express可以极大程度上简化nodejs,它由许多api非常方便使用。
node.js的http封装的程度不高,路由由原生代码实现起来比较复杂。在我目前的感知里,我认为框架最主要就是实现了比较方便的路由的架构。
1 | var express = require('express'); |
路由 app.method
常用method有post和get。还有很多,官方文档都有介绍。
1 | app.get('网址', function(){}); |
路由路径和请求方法一起定义了请求的端点,它可以是字符串、字符串模式或者正则表达式。
路由句柄 可以为请求处理提供多个回调函数,其行为类似 中间件。唯一的区别是这些回调函数有可能调用 next(‘route’) 方法而略过其他路由回调函数。可以利用该机制为路由定义前提条件,如果在现有路径上继续执行没有意义,则可将控制权交给剩下的路径。
响应方法
响应方法
可使用 app.route() 创建路由路径的链式路由句柄。由于路径在一个地方指定,这样做有助于创建模块化的路由,而且减少了代码冗余和拼写错误。
可使用 express.Router 类创建模块化、可挂载的路由句柄。Router 实例是一个完整的中间件和路由系统,因此常称其为一个 “mini-app”。
中间件
依旧是官网的解释
在get和post回调函数中,如果没有next参数,那么就 匹配第一个路由,不会继续往下匹配。
应用级中间件
应用级中间件绑定到 app 对象 使用 app.use() 和 app.METHOD()app.use()的网址不是精确匹配的。
路由级中间件和应用级中间件一样,只是它绑定的对象为 express.Router()。
错误处理中间件
错误处理中间件有 4 个参数,定义错误处理中间件时必须使用这 4 个参数。即使不需要 next 对象,也必须在签名中声明它,否则中间件会被识别为一个常规中间件,不能处理错误。
内置中间件express.static(root, [options])