推荐答案
在 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 天。