Express 4 Динамическое удаление промежуточного ПО из стека приложений

я новичок в узле и пытаюсь добавлять и удалять маршруты "на лету" в Express 4. Я добавляю их с помощью app.use(path,route) и могу найти их в приложении ._router.stack Массив, но я не могу удалить конкретный маршрутизатор. Является ли это возможным? Я безуспешно пытался использовать app._router.stack.splice(myRouterIndex,1).

Вот мой пример:

for (var i = 0; i < app._router.stack.length;  i++) {
        if(app._router.stack[i].name=='router') {
          console.log(app._router.stack[i].name);     
          app._router.stack.splice[i,1];
          console.log(app._router.stack);          
          break;   
        }
      }

Второй console.log(app._router.stack) печатает точно так же, как и первый.


person mapesteguia    schedule 06.02.2015    source источник
comment
splice — метод, splice(i, 1). Хотя, поскольку вы правильно использовали его в примере выше, я предполагаю опечатку?   -  person Ben Fortune    schedule 06.02.2015
comment
возможный дубликат Удалить сопоставления маршрутов в NodeJS Express   -  person James    schedule 06.02.2015


Ответы (1)


Это была простая ошибка, потому что я новичок в Node. Спасибо, Бен Форчун!

Правильный синтаксис: app._router.stack.splice(i,1); должное сращивание - это метод. Выполнение этого со скобками [] не вызывает никаких ошибок, а просто не работает должным образом.

person mapesteguia    schedule 09.02.2015