目前我正在尝试在运行时删除 Node.js 服务器应用程序的路由。
for (k in self.app.routes.get) {
if (self.app.routes.get[k].path + "" === route + "") {
delete self.app.routes.get[k];
break;
}
}
调用此方法后,self.app.routes 对象中不再有路由。但是在我尝试访问当前删除的路线后,我收到以下错误:
TypeError:无法在Router.matchRequest(/var/lib/root/runtime/repo/node_modules/express/lib/router/index.js:205:17)调用未定义的方法“匹配”
由于 express.js 的文档,这必须是正确的方法。
app.routes 对象包含由关联的 HTTP 谓词映射的所有路由。此对象可用于自省功能,例如 Express 在内部不仅将其用于路由,而且还提供默认的 OPTIONS 行为,除非使用 app.options()。您的应用程序或框架也可以通过简单地从该对象中删除路由来删除它们。
有没有人知道如何在 Node.js 中正确删除运行时的路由?
非常感谢!