推荐答案
在 Express 中处理静态文件可以通过 express.static 中间件来实现。你可以使用 app.use(express.static('public')) 来指定静态文件的目录。这样,Express 会自动将 public 目录下的文件作为静态资源提供给客户端。
本题详细解读
1. 使用 express.static 中间件
express.static 是 Express 提供的一个内置中间件,用于处理静态文件。它的基本用法如下:
const express = require('express');
const app = express();
app.use(express.static('public'));在这个例子中,public 是存放静态文件的目录。Express 会自动将该目录下的文件作为静态资源提供给客户端。
2. 指定静态文件的目录
你可以通过 express.static 中间件来指定静态文件的目录。例如:
app.use(express.static('public'));在这个例子中,public 目录下的文件可以通过 URL 直接访问。例如,如果 public 目录下有一个 index.html 文件,你可以通过 http://localhost:3000/index.html 来访问它。
3. 多个静态文件目录
你还可以指定多个静态文件目录:
app.use(express.static('public'));
app.use(express.static('files'));在这种情况下,Express 会按照中间件添加的顺序来查找静态文件。如果 public 目录中没有找到文件,Express 会继续在 files 目录中查找。
4. 虚拟路径前缀
你还可以为静态文件指定一个虚拟路径前缀:
app.use('/static', express.static('public'));在这个例子中,public 目录下的文件可以通过 http://localhost:3000/static/index.html 来访问。
5. 静态文件缓存
Express 默认会启用静态文件的缓存机制。你可以通过设置 Cache-Control 头来调整缓存策略:
app.use(express.static('public', {
maxAge: '1d'
}));在这个例子中,静态文件的缓存时间为 1 天。