app.use('/ users',usersRouter)之间的区别;并要求(。/路线/用户)(应用程序)?

时间:2018-10-17 00:16:36

标签: express

在来自mozilla的快速教程中,

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/skeleton_website

他们写

var usersRouter = require('./routes/users');
app.use('/users', usersRouter);

在其他教程中,他们写这样的东西,

require('./routes/authRoutes')(app);

这两个相当吗?

1 个答案:

答案 0 :(得分:0)

在没有看到您提到的其他教程的代码的情况下,我无法确切确定它们如何使用传递给导入代码的app对象,但是我怀疑在{{1 }}模块仅将路由器对象连接到指定的.routes/authRoutes对象。很有可能以与Mozilla Express教程中提供的代码相同的方式完成该操作。

在两种情况下,都将定义一个路由处理程序,然后将其注册为与指定路由匹配的任何路由的处理程序。在您提到的情况下,该路由将是app路由。因此/users对象将具有许多路由处理程序,例如,为路由usersRouter/abc定义的路由处理程序。因此,将/def对象注册为usersRouter路由的路由处理程序将意味着将处理路由/users/users/abc