正则表达式 – 除了以/ api开头的所有路由运行快速中间件?
发布时间:2020-12-14 06:03:27 所属栏目:百科 来源:网络整理
导读:我有一个Express中间件,它在服务器上呈现React,就像在所有其他路径之后放在最后一样: app.use(function(req,res) { Router.run(routes,req.path,function(Handler) { var markup = React.renderToString(Handler /); res.send(swig.renderFile('views/index
我有一个Express中间件,它在服务器上呈现React,就像在所有其他路径之后放在最后一样:
app.use(function(req,res) { Router.run(routes,req.path,function(Handler) { var markup = React.renderToString(<Handler />); res.send(swig.renderFile('views/index.html',{ html: markup })); }); }); 由于未指定路由,因此将为所有请求执行此中间件.我想从中排除所有/ api路由.问题是即使我在此中间件之前创建所有API路由,也总是有可能在/ api / nonexistantendpoint路径上执行此中间件. 更确切地说,我正在寻找一个正则表达式,它将使所有路径的中间件执行,除了以/ api开头的任何路径. 谢谢! 我已经查看了this SO帖子,但找不到对我有用的东西. this post包含许多解决方法,这也不是我想要的. This帖子要求您有条件地检查中间件内的URL. 解决方法
试试这个:
app.use(/^/(?!api).*/,function(req,{ html: markup })); }); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |