Express JS:如何知道请求是否为静态资产?
我正在为一些特定的任务编写中间件,当请求的是静态资源时(从客户端文件夹:app.use(express.static(path.join(__ dirname,“../client”)));
那么我怎么能知道这个特定的请求是针对静态资源还是从“客户端”文件夹提供?
我有下面的代码
app.use(express.static(path.join(__dirname, "../client"))); app.use(someCustomMiddleware());
我看到,像CSS / JS文件静态资产的请求仍然通过someCustomMiddleware()。 我的要求是someCustomMiddleware()不应该处理对静态资产的请求。
只需将其添加到其他路线之前。 如果请求一个静态项目,那么它会去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
并提供文件,并不会去'/'
路线。