快速中间件:app.use和app.all
Express middleware: app.use and app.all
app.use('/some/path', function(req, res, next() {})
和
app.all('/some/path', function(req, res, next() {})
它们都是中间件函数,只对/some/path请求调用,对吗?
这两个例子的用法差别很大。在app.use
上注册的函数是一般的中间件函数,并被调用到它们在中间件堆栈上的位置,通常在app.configure
函数中。这种中间件通常放在 app.route
之前,错误处理函数除外。
app.all
是一个路由功能(通常不称为中间件),它涵盖了所有HTTP方法,并且在 app.route
中只调用。如果你之前的任何路由器函数匹配/some/path
并且没有调用next
回调,app.all
将不会被执行,所以app.all
函数通常在你的路由块的开始。
还有第三种中间件,用在你的路由函数中,例如
app.get('/some/path', middleware1, middleware2, function(req, res, next) {});
通常用于限制访问或执行与/some/path
路由相关的一般任务。
对于实际应用,您可以同时使用这两个函数,但要注意使用app.use
和/some/path
时的行为差异。与app.get
不同,app.use
在调用匿名函数之前将/some/path
从路由中剥离。
您可以在express的文档中找到更多信息。
相关文章:
- 仅在Express4上使用app.use('/api')时呈现页面
- app.use(restify.bodyParser())无法工作,因为req对象为空
- 在app.use (NODE.JS)中传递参数
- app.post 和 app.use 在节点表达中有什么区别
- NodeJS/Express app.use sequence and usage
- application.use(“/&”,express.static)和app.use(express.sstatic
- 当我使用app.use时,Passport总是返回401
- Conditional app.use in node - express
- flairon.js/uninon-将app.use()配置放在哪里
- ExpressJS app.use("/" router) router.get("/&q
- 模块是否应该在express.js的所有路由中使用app.use进行配置
- 快速中间件:app.use和app.all
- express/connect中app.use()的使用
- TypeError:app.use()需要中间件函数
- App.use()需要中间件函数
- Typeerror: app.use()需要中间件功能
- Express中app.use()的语法
- 使用app.use的多配置返回TypeError
- 将护照快递到app.use(路线)
- 在ExpressJS中添加一个异常app.use()