ExpressJS在请求函数

时间:2017-12-27 09:07:54

标签: node.js express express-session

我目前正在提供如下静态文件:

app.use('/javascripts', express.static(join(__dirname + '/assets/javascripts')));

它按预期工作。

我想要做的是根据会话使用用户会话来提供静态文件。我试过这个:

app.use('/javascripts', (req: Request, res: Response, next) =>{
    if(req.session.auth){
        express.static(join(__dirname + '/auth/javascripts'))
    } else{
        express.static(join(__dirname + '/assets/javascripts'))
    }
});

但它没有提供文件。有人可以解释为什么它不起作用以及我如何能够实现我想要做的事情?

1 个答案:

答案 0 :(得分:1)

中间件函数(if (infoChanged === true) { fetchPromises.push( fetch('/Batch/Create/', { headers: new Headers({ 'Content-Type': 'application/javascript' //Tried this with multi-part/form }), credentials: 'same-origin', method: 'POST', body: batch //, vinFile }) ); } return Promise.all(fetchPromises); 的第二个参数)应处理请求并调用.use(),因此此代码不执行任何操作。

您需要的是拥有一个动态路由(而不是中间件),根据next()重定向到正确的静态目录:

req.session.auth