我有一个基本的 Express 应用程序,我想为 /
的默认路由提供一个文件(在执行一些逻辑之后)。
不幸的是我不能使用
app.use(function (res, res, next){
*logic here*
res.sendFile(filepath);
});
express.static()
因为这将拦截每个请求并发送每个请求的文件路径
。
还有其他方法吗?
检查 url 的 URI 部分就足够了,如果是/则发送文件。
检查一下:
app.use(function (req, res, next) { // first must be Your middleware
if(req.path == '/') {
return res.sendFile('some file');
}
next();
});
app.use(express.static('public')); // and after it You can attach static middleware
或者:
app.use(express.static('public'));
app.all('/', function (req, res) {
res.sendFile(filePath);
});
我是一名优秀的程序员,十分优秀!