2016-10-04 2 views
1

У меня есть массив:Expressjs маршрут от переменной

var arr = ["/index.html", "/alternative_index.html", "/index"]

и я хочу сервер Экспресс вернуть то же самое для всех этих маршрутов:

localhost:8080/index.html 
localhost:8080/alternative_index.html 
localhost:8080/index 

Это работает:

app.get("/index.html|/alternative_index.html|/index", (req, res) => { 
    console.log("Here") 
    ... 
} 

Таким образом, я определил переменную, которая является такой же, как маршрут выше:

// returns "/index.html|/alternative_index.html|/index" 
var indexRoutes = arr.join("|") 

Однако, это не работает:

app.get(indexRoutes, (req, res) => { 
    console.log("Here") 
    ... 
} 

Я также попытался с помощью RegExp для indexRoutes и что тоже не работает.

Почему Express не регистрирует правильный маршрут, когда я определяю его с помощью переменной?

+0

Что консоль ошибок вы получаете, когда вы пытаетесь запустить это? –

+0

@ daniel-d: Ошибка в консоли. Когда я использую indexRoutes и перехожу к одной из ссылок, которые должны работать (например, «localhost: 8080/index.html», страница просто не загружается. – user3025403

+0

Вы также проверили свою настройку, пытаясь просто нажать «/ index», чтобы убедиться, что вы получаете ». Здесь« 'в консоли? Также вы попытались зарегистрировать ответ, чтобы увидеть, что там было? –

ответ

1

Вы пробовали передать массив напрямую? app.get(['url1', 'url2', 'url3'], (req, res) => { console.log('here'); })

С уважением

Смежные вопросы