app.use(express.static('public')) 的语法

Syntax of app.use(express.static('public'))

提问人:ASP 提问时间:8/20/2022 更新时间:8/20/2022 访问量:265

问:

该代码在快速应用程序中用于设置用于静态文件访问的文件夹。我不明白传递到函数时使用的语法。我的理解是,当将一个函数作为参数(回调)传递给另一个函数时,我们只传递函数名称。在代码中,函数在函数的参数部分被调用。我不明白这里使用的语法。是否有一些我不知道的 JavaScript 语法?app.use(express.static('public'))express.static('public')app.use()app.use(express.static('public'))express.static()app.use()

函数 表达式 回调

评论


答:

2赞 jfriend00 8/20/2022 #1

express.static('public')调用中间件函数时返回该函数。

所以,这个:

app.use(express.static('public'))

效果与此相同:

const myStaticFn = express.static('public');
app.use(myStaticFn);

因此,您正在将函数传递给 。只是调用会创建一个自定义函数,该函数恰好知道它应该操作的目录是“public”。app.use()express.static('public')

如果你想看到 的代码,你可以在这里看到它,你可以在函数的中间看到(经过一些参数检查),它这样做:express.static()

return function serveStatic (req, res, next) { ... }

所以,这就是你最终传递给的函数,你可以看到它具有中间件函数的完美签名。app.use()

.