exdude
@exdude

Возможно ли запустить router в цикле?

Встал вопрос генерации роутеров в соответствии списка приходящего с бд, так как в списке около 220 видов поддомена.
Для этого решил воспользоваться фреймворком "express-subdomian".
И написал следующий код:

for (let key in cities) {
        let town = ruToLat(key).toLowerCase();
        router.get('/', async (req, res) => {
            res.render('index', {
                title: `Subdomian is: ${key}`,
                ifIndex: true,
                cities,
                key
            })
        });
        router.get('/euro', (req, res) => {
            res.render('euro', {
                title: 'Subdomian is: ${key} ',

                ifEuro: true,
                cities,
                key
            })
        });
        app.use(subdomain(`${town}`, router));
    }


В переменной cities лежит объект с тем самым списком.
Где в последующем передаю на страницу список с ключом, для вывода данных на страницу.
Но при обращении допустим "moskva.domian.ru", на страницу рендерется данные только первого ключа. То есть в списке есть ключ "moskva" но цикл остановился сразу после первого интервала.
В чем может быть проблема? Или же я что-то не правильно делаю?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@twolegs
express-subdomian решает проблему, когда для разных поддоменов необходимы разные роутеры.
Вам достаточно использовать один роутер. Поддомен можно получить например через `req.subdomains`.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы