Express中app.use()的语法

Syntax of app.use() in Express

本文关键字:语法 use app Express      更新时间:2023-09-26

为什么一些中间件函数通过调用括号传递进来(而匿名函数在没有调用的情况下传递进来)?

app.use(logger());
app.use(bodyParser());

logger()不会立即被计算,返回值会被传递给app.use()吗?为什么app.use()不接受undefined作为参数?

难道logger()不会立即被求值,返回值不会被传递给app.use()吗?

是的。

为什么app.use()没有接收undefined作为参数?

因为logger()bodyParser()返回中间件的函数。也就是说,它们不是中间件处理程序本身。这是Express中间件的常见模式:导出一个函数,该函数接受可用于配置返回的中间件的选项。