提供静态文件
使用 Express 构建 Web 服务器时,通常需要提供动态内容和静态文件的组合。
例如,你可能有 index.html 和 script.js,它们是保存在文件系统中的静态文件。
通常使用名为 public
的文件夹来拥有静态文件。在这种情况下,文件夹结构可能如下所示:
project root
├── server.js
├── package.json
└── public
├── index.html
└── script.js
这是如何配置 Express 以提供静态文件:
const express = require('express');
const app = express();
app.use(express.static('public'));
注意:配置文件夹后,index.html,script.js 和 public
文件夹中的所有文件都将在根路径中可用(你不能在 URL 中指定/public/
)。这是因为,express 查找相对于配置的静态文件夹的文件。你可以指定虚拟路径前缀,如下所示:
app.use('/static', express.static('public'));
将使用/static/
前缀提供资源。
多个文件夹
可以同时定义多个文件夹:
app.use(express.static('public'));
app.use(express.static('images'));
app.use(express.static('files'));
在提供资源时,Express 将按定义顺序检查文件夹。如果文件名相同,则将提供第一个匹配文件夹中的文件。