Node.js Express 4从应用程序堆栈中动态删除中间件
我是node的新手,我正在尝试在Express 4中“动态”添加和删除路由。我正在使用app.use(路径、路由)添加它们,并且我能够在app.u router.stack数组中找到它们,但我无法删除特定路由器。可能吗?我尝试了app.\u router.stack.splice(myRouterIndex,1),但没有成功 以下是我的例子:Node.js Express 4从应用程序堆栈中动态删除中间件,node.js,express-4,Node.js,Express 4,我是node的新手,我正在尝试在Express 4中“动态”添加和删除路由。我正在使用app.use(路径、路由)添加它们,并且我能够在app.u router.stack数组中找到它们,但我无法删除特定路由器。可能吗?我尝试了app.\u router.stack.splice(myRouterIndex,1),但没有成功 以下是我的例子: for (var i = 0; i < app._router.stack.length; i++) { if(app._rout
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;
}
}
for(变量i=0;i
第二个console.log(app._router.stack)打印的内容与第一个完全相同。这是一个简单的错误,因为我是Node的新手。谢谢本·福琼 正确的语法是app.\u router.stack.splice(i,1);
适当拼接是一种方法。使用方括号[]执行此操作不会引发任何错误,但根本无法按预期工作。
splice
是一种方法,splice(i,1)
。尽管你在上面的例子中正确地使用了它,我将假设一个打字错误?可能是