Max*_*Max 3 middleware static-files node.js express
我有一个节点App.配置为通过以下方式提供静态文件:
app.use(express.static(path.join(__dirname, '../public')));
我在其他路由上使用一些auth中间件.当我点击服务器上不存在的图像时出现问题.在这种情况下,快递似乎试图通过我对非静态内容的所有中间件发送该请求.有没有办法只发送404丢失的静态资产,而不是重新触发每个丢失文件的所有中间件?
express.static()
默认情况下,中间件的工作方式是在目标目录中查找文件,如果找不到,则将其传递给下一个中间件.
但是,它有一个fallthrough
选项,如果你将它设置为false
,那么它将立即404任何应该在静态目录中丢失的文件.
下通
当此选项为true时,客户端错误(例如错误请求或对不存在文件的请求)将导致此中间件简单地调用next()以调用堆栈中的下一个中间件.如果为false,则这些错误(甚至是404s)将调用next(err).
将此选项设置为true,以便您可以将多个物理目录映射到同一Web地址或路由以填充不存在的文件.
如果已将此中间件安装在严格为单个文件系统目录的路径上,则使用false,这样可以减少404的开销,从而减少开销.该中间件也将回复所有方法.
例:
app.use("/public", express.static("/static", {fallthrough: false}));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2510 次 |
最近记录: |