我正在为某些特定任务编写中间件,当请求是针对静态资产时,应该不执行(来自客户端文件夹:app.use(express.static(path.join(__ dirname,“ ../客户端“))))
那么我怎么知道特定请求是针对静态资产还是来自“client”文件夹?
我有以下代码
app.use(express.static(path.join(__dirname, "../client")));
app.use(someCustomMiddleware());
我看到对css / js文件等静态资产的请求仍然通过someCustomMiddleware()。我的要求是someCustomMiddleware()不应该处理静态资产的请求。
答案 0 :(得分:1)
只需在其他路线之前添加它。如果对静态项目发出请求,那么它将首先转到app.use(express.static(path.join(__dirname, "../client")));
,然后转到您的路线。
实施例。假设您的公用文件夹中包含一些css
文件夹,其中包含文件style.css
。让我们说你的路线看起来像这样。
app.use(express.static(path.join(__dirname, "../public")));
app.use(someMiddleware);
如果您访问/css/style.css
,则会点击express.static
并提供该文件,但不会转到该'/'
路由。