Обслуживание статических файлов на динамическом маршруте с помощью Express


Я хочу служить статические файлы, как это обычно делается с express.static(static_path) но на динамическом маршрут, как это обычно делается с

app.get('/my/dynamic/:route', function(req, res){
    // serve stuff here
});

в этом намекается на решение комментарий одним из разработчиков, но мне не сразу понятно, что он имеет в виду.

2 62

2 ответа:

ОК. Я нашел пример в исходном коде для экспресс' ответ объекта. Это немного измененная версия этого примера.

app.get('/user/:uid/files/*', function(req, res){
    var uid = req.params.uid,
        path = req.params[0] ? req.params[0] : 'index.html';
    res.sendfile(path, {root: './public'});
});

использует res.sendfile метод.

Примечание: изменения безопасности sendfile требуется использование .

Я использую ниже код для обслуживания одних и тех же статических файлов, запрошенных разными url:

server.use(express.static(__dirname + '/client/www'));
server.use('/en', express.static(__dirname + '/client/www'));
server.use('/zh', express.static(__dirname + '/client/www'));

хотя это не ваш случай, это может помочь другим, кто попал сюда.