匹配API和同构路线

我有一个同构的应用程序快速运行:

app.get('*', (req, res) => { match( { routes, location: req.url }, (error, redirectLocation, renderProps) => { ... } 

目前我在通配符上进行匹配,因为这是我见过的大多数样板和教程中所采用的方法。

现在这个问题是我需要能够匹配特定的路线,如/auth/api需要以不同的方式处理同构的应用程序的路线。 即/auth路由需要authentication用户。

我需要一种方式来指定这些路线,但仍然保持通配符匹配的路线使用我的同构的应用程序。

我已经考虑过,不是使用通配符匹配器,而是可以将同构应用程序的所有路由收集到一个数组中,并用它来表示:

 const isoRoutes = ['/home', '/about']; app.get([isoRoutes], (req, res)) 

我不确定是否有更好的方法来达到这个目的?

如果你的/auth/api路由没有从你的应用程序提供页面(也就是说你正在使用它们进行AJAX调用),你应该为它们分配不同的请求处理程序。

只要你在通配符get之前指定非通配符路由,你应该没问题。

 app.get('/auth', handleAuth); app.get('/api', handleAPI); app.get('*', handleRender); 

你可以这样编码:

 req.url.match(//regular expression); 

Match()仅适用于正则expression式。