Я создаю сервис, включающий систему, в которой пользователь получает бесплатный поддомен, такой как archiebaer.blahblahblah.demo
, и у меня есть функция для получения файла конфигурации сайта (siteconf()
), который содержит ключ под названием theme. Я хочу, чтобы archiebaer.blahblahblah.demo/theme-static/style.css
использовал express.static()
для обслуживания папки на основе этого ключа темы.
Например. app.get('/theme-static', express.static("themes/ABC/theme-static"));
где ABC - название темы.
Пример сценария: johnsmith
и archiebaer
- оба пользователя. Конфигурационный файл Джона выглядит примерно так: {theme:'retro'}
, а у Арчи {theme:'slate'}
. Вы можете получить файл конфигурации пользователя из параметра запроса экспресс-маршрута, используя siteconf(req)
. Когда я захожу на /theme-static/style.css
на сайте Арчи, я должен получить файл ~/projectfolder/themes/slate/style.css
, а на Джоне: ~/projectfolder/themes/retro/style.css
.
Я предполагаю, что код будет выглядеть примерно так:
app.get('/theme-static', function (req, res) {
res.send(express.static('themes/' + siteconf(req).theme + '/theme-static/'));
});