我是节点中的新手,我正在尝试在Express 4中“即时”添加和删除路由。我正在使用app.use(路径,路径)添加它们,我能够找到它们在app._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)打印与第一个完全相同。
答案 0 :(得分:3)
这是一个简单的错误,因为我是Node的新手。谢谢Ben Fortune!
正确的语法是app._router.stack.splice(i,1); 到期拼接是一种方法。使用方括号[]执行此操作不会引发任何错误,但根本无法正常工作。