Appearance
Express.static
提供静态文件,基于 serve-static
Express
express.static(root, [options])
描述
root 参数指定提供静态资产的根目录。该函数通过将 req.url 与提供的 root 目录组合来确定要服务的文件。当找不到文件时,它不会发送 404 响应,而是调用 next() 以继续下一个中间件,从而允许堆叠和回退。
可选options对象的属性
- dotfiles – 确定如何处理点文件(以点 "." 开头的文件或目录)。数据类型: 字符串 默认值: "ignore"
- etag- 启用或禁用 etag 生成注意:express.static 总是发送弱 ETag。数据类型: 布尔值 默认值: true
- extensions– 设置文件扩展名后备:如果找不到文件,请搜索具有指定扩展名的文件并提供第一个找到的文件(['html', 'htm'])。数据类型: 混合 默认值: false
- fallthrough- 让客户端错误作为未处理的请求通过,否则转发客户端错误。数据类型 布尔值 默认值: true
- immutable – 在 Cache-Control 响应标头中启用或禁用 immutable 指令。如果启用,还应指定 maxAge 选项以启用缓存。immutable 指令将阻止受支持的客户端在 maxAge 选项的生命周期内发出条件请求以检查文件是否已更改。数据类型: 布尔值 默认值: false
- index- 发送指定的目录索引文件。设置为 false 以禁用目录索引。数据类型 混合 默认值: "index.html"
- lastModified-将 Last-Modified 标头设置为操作系统上文件的最后修改日期。数据类型 布尔值 默认值: true
- maxAge-设置 Cache-Control 标头的 max-age 属性(以毫秒为单位)或 ms 格式 中的字符串。数据类型 数字 默认值: 0
- redirect-当路径名是目录时,重定向到尾随 "/"。 数据类型 布尔值 默认值: true
- setHeaders-用于设置 HTTP 标头以与文件一起服务的功能。 数据类型 函数
express.static 示例
Express
const options = {
dotfiles: 'ignore',
etag: false,
extensions: ['htm', 'html'],
index: false,
maxAge: '1d',
redirect: false,
setHeaders (res, path, stat) {
res.set('x-timestamp', Date.now())
}
}
app.use(express.static('public', options))