Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 快速JS匹配路线,无需处理_Node.js_Express - Fatal编程技术网

Node.js 快速JS匹配路线,无需处理

Node.js 快速JS匹配路线,无需处理,node.js,express,Node.js,Express,给定一个Express JS应用程序或路由器的实例,是否可以根据应用程序配置的路由匹配请求,并接收一个将路由描述为已在应用程序中注册的对象 例如,如果应用程序要处理对/users/1的请求,那么应用程序/路由器实例是否可以在给定URI和HTTP方法的情况下以编程方式检查应用程序是否具有满足该请求的路由 理想的sudo(ish)代码: const-app=express(); 应用程序使用((请求、恢复、下一步)=>{ 常量处理程序=应用程序匹配(req); // { //'方法':'获取', /

给定一个Express JS应用程序或路由器的实例,是否可以根据应用程序配置的路由匹配请求,并接收一个将路由描述为已在应用程序中注册的对象

例如,如果应用程序要处理对
/users/1
的请求,那么
应用程序
/
路由器
实例是否可以在给定URI和HTTP方法的情况下以编程方式检查应用程序是否具有满足该请求的路由

理想的sudo(ish)代码:

const-app=express();
应用程序使用((请求、恢复、下一步)=>{
常量处理程序=应用程序匹配(req);
// {
//'方法':'获取',
//“路径”:“/user/:id”{
//获取用户并对其进行处理
});
...

AFAIK没有公开记录的Express router端点提供您根据其特性描述的行为

但是,您可以通过创建自定义正则表达式验证器来实现这一点,以检查
req.path
字符串是否与任何定义的路径匹配。这样做的缺点是,您必须将该列表与注册到Express的列表分开维护,这可能会证明难以维护


您可能可以通过
应用程序
对象的内部来获得所需的功能,但请注意,这种方法的不稳定性意味着您的解决方案可能会被Express的非主要更新破坏。

所以您不想处理请求?您只想将它们与模式匹配?@RamiJarrar我们不想o处理请求,但是在继续中间件链/堆栈之前,能够确定是否会处理请求对我们的用例是有益的。感谢您提供的信息。也许我会在Express中添加一个问题来请求功能。我已经在ExpresJS github上打开了一个问题: