express.js - 仅对非静态 url 使用中间件

mko*_*yak 3 node.js express

如何创建在所有不提供静态文件的 URL 上运行的中间件?

我正在考虑检查是否req.url不以“/js/”、“/css/”或“/images/”开头,但必须有更好的方法

hun*_*tis 5

最简单(也是最快)的方法是将静态文件中间件放在“catch all”中间件之前:

app.use(express.static(STATIC_DIR_HERE));
app.use(function notStatic(req, res, next) {
  // everything here will be non-static routes
});
Run Code Online (Sandbox Code Playgroud)

app你的快递实例在哪里)