Node表示逐个用户改变静态文件夹

时间:2016-04-05 09:12:39

标签: javascript node.js express npm

是否可以使用node和express中间件执行类似的操作?

app.use('/',express.static('public'))

app.get('/public', function() {
  app.use('/',express.static('public'))
})
app.get('/public2', function() {
  app.use('/',express.static('public2'))
})

我想要完成的是允许用户拥有自己的“公共”目录来提供静态文件。目录结构类似于/ user /<哈希>

1 个答案:

答案 0 :(得分:1)

想想我有一个解决方案!

app.get('/:user', function(req, res, next) {
    app.use('/', express.static(path.join(__dirname, 'public/' + req.params.user)));
    res.send('');
});

要解释一下,想象一下路径上的两个文件:

/__dirname/public/user1/userdata.text

/__dirname/public/user2/userdata.text

访问以下两个网址:

http://localhost:3000/user1/userdata.txt

http://localhost:3000/user2/userdata.txt

您将分别请求这两个不同的文件。如果该文件不存在,则会像您期望的那样抛出404

希望这有帮助。