静态资源服务器
静态资源服务
express.static() 用于指定一个目录,使该目录中的所有文件都可以通过 HTTP 请求访问。
js
app.use(express.static('static'));可以指定路由匹配:
js
app.use('/assets',express.static('static'));使用
express.static('static')来提供static文件夹中的静态资源。通过
app.use('/assets', ...)使得所有以/assets为前缀的路径都指向static文件夹中的资源。
js
my-app/
├── static/
│ ├── image.png
│ └── style.css
└── app.js访问 http://localhost:3000/assets/image.png,将会返回 static/image.png 文件。
访问 http://localhost:3000/assets/style.css,将会返回 static/style.css 文件。
防盗链
对Referer校验可以添加防盗链功能
- 创建防盗链中间件
js
const whitelist = [
'http://127.0.0.1:3001/',
];
const preventHotLinking = (req, res, next) => {
const referer = req.get('Referer');
if (referer && whitelist.includes(referer)) {
next();
} else {
res.status(403).send('Forbidden');
}
};
module.exports=preventHotLinking- 注册中间件,开启静态资源服务
js
app.use(PreventHotLinking)
app.use('/assets',express.static('static'))