我有一台服务器通过中间件路由几乎所有内容来检查您是否已登录,但这仅适用于路由。我也希望它能与public
目录中的静态文件一起使用。我该怎么做呢?
更新:最好不要担心保护/public
文件夹中的内容,因为快递提供了res.download(...)
功能。 Example on the Express.JS GitHub page
答案 0 :(得分:2)
通过使用express.static
中间件表达来澄清静态文件也是服务器。理论上,您可以在其之前包含中间件来处理安全性。除了静态中间件的想法之外,您只能将文件夹public
静态提供,因为它的 public 。
您可以在此处找到static。您可以重写它以允许您将中间件注入其中。
或者您可以自己编写一个天真的静态文件路由器。
您是否尝试在静态中间件之前在中间件中注入自己的安全日志。
app.use(security);
app.use(express.static(dirname + '/public'));