【发布时间】:2021-02-11 02:18:53
【问题描述】:
您好,我有一个 express 应用程序,我需要在访问静态文件夹以提供文件之前插入一个自定义中间件/逻辑,我如何在不在每条路由上应用这个中间件的情况下实现这一点。现在代码看起来像:
function middleware() {
console.log('hello');
}
app.use(middleware).use(express.static('public'));
app.listen(8000, () => {
console.log('server running on 8000');
});
app.get('/hi', (req, res) => {});
问题是当 hi 被称为中间件时也被执行,我只想在公用文件夹中的静态文件被调用时执行它
【问题讨论】:
-
您的问题存在矛盾。你说我想在静态中间件之前执行一些东西,但我希望它只在静态中间件决定提供文件时发生。