什么是Express静态⽂件?
在Web应⽤程序开发中,静态⽂件指的是那些不需要服务器端处理的⽂件,如HTML、CSS、 JavaScript、图像等。Express允许轻松地提供这些静态⽂件,以便浏览器可以请求并加载它们。
提供静态⽂件
为了提供静态⽂件,Express提供了⼀个内置的中间件函数express.static。该中间件函数负责将 静态⽂件的⽬录映射到URL路径,以便浏览器可以请求它们。
使⽤express.static中间件
const express = require('express');
const app = express(); // 使⽤express.static中间件,将public⽬录映射到根路径 app.use(express.static('public'));
在上述示例中,express.static中间件将public⽬录映射到根路径。这意味着,位于public⽬录下 的⽂件可以通过相对路径访问,例如,public/index.html可以通过访问/index.html来获取。
指定URL路径
还可以将静态⽂件⽬录映射到特定的URL路径。这对于将静态⽂件集中在应⽤程序的特定⼦路径下 ⾮常有⽤。
app.use('/static', express.static('public'));
在上述示例中,express.static中间件将public⽬录映射到/static路径。这意味着位于public⽬录 下的⽂件可以通过/static前缀的相对路径访问,例如,public/index.html可以通过访 问/static/index.html来获取。
静态⽂件中间件⾼级选项
express.static中间件还⽀持⼀些⾼级选项,以便更好地控制静态⽂件的提供。
指定⽂件扩展名
您可以使⽤extensions选项来指定要处理的⽂件扩展名列表,这对于提供特定类型的⽂件⾮常有⽤。
app.use(express.static('public', { extensions: ['html', 'css'] }));
在上⾯的示例中,只有.html和.css⽂件扩展名的⽂件将由express.static中间件处理。 控制缓存
通过maxAge选项,您可以控制浏览器缓存静态⽂件的时间,以减少请求到服务器的次数。
app.use(express.static('public', { maxAge: 86400000 }));
注意:maxAge的单位是毫秒
虽然提供静态⽂件是⽅便的,但也要注意安全性。不要将敏感信息存储在静态⽂件中,⽽且确保在 提供静态⽂件时不要泄漏敏感⽬录或⽂件。