我无法理解以下示例的工作原理:https://github.com/auth0-samples/auth0-nodejs-webapp-sample/tree/master/01-Login/routes
如果你看两个路由器,他们会暴露相同的路线' /'。当用户通过身份验证(抛出Auth0)时,' / callback'调用index.js路由器的路由,执行以下操作:
res.redirect('/user');
在app.js中宣布以下内容:
var user = require('./routes/user');
app.use('/user', user);
,我知道将使用user.js路由器......但是在user.js中没有' / user'路线,但只有一个' /'。
有人可以解释一下' /'使用user.js路由器的路由?
感谢您的帮助!
答案 0 :(得分:0)
虽然路由器user.js有' /' route,您正在' / user'中安装user.js路由。路径。所以路线' /'将被视为' / user /'。
app.use('/user', user);
如果你安装在其他路径上说
app.use('/user/sample/demo', user);
然后您的user.js路线为' / user / sample / demo /'。
希望您了解路由概念
答案 1 :(得分:0)
它们在主app.js
文件
在lines 62 and 63上你会找到
app.use('/', routes);
app.use('/user', user);
这意味着:
routes
返回的所有路由的基本路径均为/
。user
返回的所有路由的基本路径均为/user
。它实际上是一个非常好的模式,可以在Express或甚至Koa中使用,以保持代码易于管理和更新。
您可以在express routing page上找到有关此模式的更多信息,最后一部分名为express.Router