node.js - 动态 express.static() 文件夹路径

标签 node.js express routes

我有一个应用程序使用 express.static 来访问一些用户信息,路由逻辑是这样的:

app.get('/principal',function(req,res,next){
    if(req.query.user=='admin'){
        next();
    }else{
        res.send("not allowed");
    }
});
app.use('/principal',express.static('/_site'));

但现在我需要它提供给所有用户,所以应该是这样的:

 var username = '';
 app.get('/principal',function(req,res,next){
        if(req.query.user){
            username = req.query.user;
            next();
        }else{
            res.send("not allowed");
        }
    });
    app.use('/principal',express.static(username+'/_site'));

我的每个用户名都有一个文件夹,我的 express.static() 一直读取用户名 var 为空。

最佳答案

尝试从路由处理程序提供静态文件,使其动态到查询用户名:

app.get('/principal',function(req,res,next){
    if(req.query.user){

        // serve static files for usename
        app.use('/principal', express.static(username +'/_site'));

        res.send("allowed");
    }else{
        res.send("not allowed");
    }
});

关于node.js - 动态 express.static() 文件夹路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48623768/

相关文章:

node.js - 使用bunyan捕获异常

node.js - 使用 'supertest' 进行测试期间的 Express 中间件控制台输出

mysql - node-mysql:多语句查询,ER_PARSE_ERROR

php - 重命名后 Laravel 方法不存在

javascript - Gulp 如何知道异步相关任务何时完成(具体来说, 'gulp-connect' )?

javascript - 如何使用 Node js 将 json 发送到我的 View

node.js - 表迁移文件

location - AngularJS - 更新 $route 参数的最佳方式

java - Camel 文件输入连续读取同一文件,即使给定 noop=true

node.js - fork : Cannot allocate memory - Ubuntu NGINX running NodeJS with PM2