Express.js:如何为默认的“/”路由提供一个文件,然后使用express.static?

时间:2016-01-05 04:27:16

标签: node.js express

我有一个基本的快递应用程序,我想为/的默认路由提供一个文件(在执行某些逻辑之后)。

不幸的是我无法使用

app.use(function (res, res, next){
    *logic here*
    res.sendFile(filepath);
}); 

express.static()

因为它会拦截每个请求,并为每个请求发送filepath

还有另一种方法吗?

2 个答案:

答案 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()

这可能会对您的要求发表评论