我有一个基本的快递应用程序,我想为/
的默认路由提供一个文件(在执行某些逻辑之后)。
不幸的是我无法使用
app.use(function (res, res, next){
*logic here*
res.sendFile(filepath);
});
express.static()
因为它会拦截每个请求,并为每个请求发送filepath
。
还有另一种方法吗?
答案 0 :(得分:1)
足以检查网址的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);
});
答案 1 :(得分:0)
var regexp = /^\/\w+/
app.use(function (req, res, next){
if(!regexp.test(req.path)){
res.sendFile(filepath);
}
});
express.static()
这可能会对您的要求发表评论