Как очистить загрузку промежуточного программного обеспечения для динамической загрузки маршрута? - PullRequest
0 голосов
/ 27 июня 2018

Я не знаю, возможно ли это, но мне нужно загружать динамически файлы маршрутов в промежуточном программном обеспечении, согласно условному условию.

Здесь у нас есть код, который хорошо работает в первом запросе, но кажется, что в следующем запросе он входит в правильное место условного, но не использует правильный файл, кажется, что он использует кеш-файл или что-то из предыдущего запроса. .

let routesApp = require('./routes-app');
let routesWeb = require('./routes-web');

app.use((req, res, next) => {
    const regex = new RegExp(pattern, 'i')
    if (regex.test(req.headers['agent-type'])) {
        app.use('/', routesWeb)
    } else {
        app.use('/', routesApp)
    }
    return next()
})

Как мне заставить это работать?

1 Ответ

0 голосов
/ 28 июня 2018

Когда вы вызываете app.use, промежуточное программное обеспечение, переданное ему, регистрируется для этого пути, и последующие запросы будут обрабатываться этим.

Один из способов справиться с тем, что вы делаете, - определить промежуточное ПО, которое условно делегирует вашему веб-сайту или мобильному промежуточному ПО по мере необходимости.

Пример кода:

let routesApp = require('./routes-app');
let routesWeb = require('./routes-web');

app.use('/', (req, res, next) => {
    const regex = new RegExp(pattern, 'i')
    if (regex.test(req.headers['agent-type'])) {
        routesWeb(req, res, next);
    } else {
        routesApp(req, res, next);
    }
})
...