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

时间:2013-01-02 16:47:20

标签: node.js express

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

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

1 个答案:

答案 0 :(得分:3)

最简单(也是最快)的方法是将静态文件中间件置于“全部捕获”中间件之前:

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

(其中app是您的快递实例)