express.static(root, [options])

中英双语

这是 Express 中内置的中间件功能。它提供静态文件,基于 serve-static

注意:为获得最佳效果,使用反向代理 缓存以提高服务静态资产的性能。

root 参数指定提供静态资产的根目录。该函数通过将 req.url 与提供的 root 目录组合来确定要服务的文件。当找不到文件时,它不会发送 404 响应,而是调用 next() 以继续下一个中间件,从而允许堆叠和回退。

下表描述了 options 对象的属性。另见 下面的例子

属性描述类型默认
dotfiles确定如何处理点文件(以点 "." 开头的文件或目录)。

见下文dotfiles
字符串"ignore"
etag启用或禁用 etag 生成

注意:express.static 总是发送弱 ETag。
布尔值true
extensions设置文件扩展名后备:如果找不到文件,则搜索具有指定扩展名的文件并提供找到的第一个文件。示例:['html', 'htm']混合false
fallthrough让客户端错误作为未处理的请求通过,否则转发客户端错误。

见下文fallthrough
布尔值true
immutableCache-Control 响应标头中启用或禁用 immutable 指令。如果启用,还应指定 maxAge 选项以启用缓存。immutable 指令将阻止受支持的客户端在 maxAge 选项的生命周期内发出条件请求以检查文件是否已更改。布尔值false
index发送指定的目录索引文件。设置为 false 以禁用目录索引。混合"index.html"
lastModifiedLast-Modified 标头设置为操作系统上文件的最后修改日期。布尔值true
maxAge设置 Cache-Control 标头的 max-age 属性(以毫秒为单位)或 ms 格式 中的字符串。数字0
redirect当路径名是目录时,重定向到尾随 "/"。布尔值true
setHeaders用于设置 HTTP 标头以与文件一起服务的功能。

见下文setHeaders
函数

有关详细信息,请参阅 在 Express 中提供静态文件。和使用中间件 - 内置中间件