匹配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式。