jam*_*ltz 25 javascript node.js express
两者之间有区别吗?
app.use('/some/path', function(req, res, next() {})
和
app.all('/some/path', function(req, res, next() {})
它们都是中间件函数,只能被调用/某些/路径请求,对吧?
ivo*_*szz 23
使用这两个例子有很大的不同.注册的函数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) {});
Run Code Online (Sandbox Code Playgroud)
这通常用于限制访问或执行与/some/path路由相关的一般任务.
对于实际应用中,你可以使用这两个功能,但使用时要谨慎行为的差异app.use用/some/path.不像app.get,app.use剥离/some/path从路由调用匿名函数之前.
您可以在express的文档中找到更多信息.
| 归档时间: |
|
| 查看次数: |
5186 次 |
| 最近记录: |