express - app.use('/users', usersRouter); 之间的区别 并且需要(./routes/users)(应用程序)?
问题描述
在 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);
两者差不多吗?
解决方案
在没有看到您提到的其他教程的代码的情况下,我无法确定它们如何使用app
传递给导入代码的对象,但我怀疑.routes/authRoutes
模块中实现的任何代码都只是将路由器对象连接到指定的app
对象。这很可能以与您在 Mozilla Express 教程中提供的代码相同的方式完成。
在这两种情况下,都会定义一个路由处理程序,然后将其注册为与指定路由匹配的任何路由的处理程序。在您提到该路线的情况下,该路线就是/users
路线。因此,该usersRouter
对象将定义许多路由处理程序,例如,用于路由/abc
和/def
. 因此,将usersRouter
对象注册为路由的路由处理程序/users
将意味着路由/users/abc
和/users/def
将被处理。
推荐阅读
- java - 以特定模式或特定字符替换字符
- android - 从 Android 应用程序向 Whatsapp 上的特定联系人发送消息
- python-3.x - Python,tkinter 如何防止在主窗口调整大小期间隐藏/调整小部件
- python - 如何创建元组其中输入是列中的文本并输出为行号?
- jxls - JXLS 不可访问或未知属性
- c# - 为什么我的 ListView 没有绑定到 ItemSource?
- aspnetboilerplate - 如何在 ASP.NET Boilerplate 中将 Angular 应用程序部署到 IIS?
- bash - 如何在一个文件中一个一个地运行一组终端命令?
- php - PHP中整数的反向块分割
- powershell - 为什么我的 -match 调用在获取网络驱动器时包含无效项目?