express 框架中的app.use是什么作用?


手册上写着是:


 app.use([path], function)
Use the given middleware function, with optional mount path, defaulting to "/".

但是不是很理解意思。这里的function 是在什么场合调用的?

Express node.js

冰蓝soul 10 years, 5 months ago

app.use 加载用于处理http請求的middleware(中间件),当一个请求来的时候,会依次被这些 middlewares处理。

执行的顺序是你定义的顺序,比如文档上的例子:


 var logger = require('morgan');

app.use(logger());
app.use(express.static(__dirname + '/public'));
app.use(function(req, res){
  res.send('Hello');
});

这个就不会记录静态文件的日志,因为looger中间件在static中间件后面。


 app.use(express.static(__dirname + '/public'));
app.use(logger());
app.use(function(req, res){
  res.send('Hello');
});

zero马达 answered 10 years, 5 months ago

Your Answer