黑人的命也是命。
支持平等司法倡议.

在 Express 中提供静态文件

要提供静态文件(如图像、CSS 文件和 JavaScript 文件),请在 Express 中使用 express.static 内置中间件函数。

函数签名为

express.static(root, [options])

root 参数指定提供静态资源的根目录。有关 options 参数的更多信息,请参阅 express.static

例如,使用以下代码在名为 public 的目录中提供图像、CSS 文件和 JavaScript 文件

app.use(express.static('public'))

现在,您可以加载 public 目录中的文件

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Express 相对于静态目录查找文件,因此静态目录的名称不是 URL 的一部分。

要使用多个静态资源目录,请多次调用 express.static 中间件函数

app.use(express.static('public'))
app.use(express.static('files'))

Express 按您使用 express.static 中间件函数设置静态目录的顺序查找文件。

注意:为了获得最佳效果,使用反向代理 缓存来提高提供静态资源的性能。

要为 express.static 函数提供的文件创建虚拟路径前缀(路径在文件系统中实际上不存在),请为静态目录指定挂载路径,如下所示

app.use('/static', express.static('public'))

现在,您可以从 /static 路径前缀加载 public 目录中的文件。

http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html

但是,您提供给 express.static 函数的路径相对于您启动 node 进程的目录。如果您从另一个目录运行 express 应用程序,则使用要提供的目录的绝对路径更安全

const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))

有关 serve-static 函数及其选项的更多详细信息,请参阅 serve-static

上一页:基本路由     下一页:更多示例