Javascript 在与路由数组一起使用的快速路由器中指定特定路由

Javascript 在与路由数组一起使用的快速路由器中指定特定路由,javascript,node.js,express,Javascript,Node.js,Express,他们清楚地知道,您可以提供应用程序。将与特定中间件的路由数组一起使用 它们还描述了如何将路由器拆分为单独的文件 但我不知道如何将这两种方法结合起来 index.js /路由/授权 router.route(“/”) .all((req,res)=>res.send(‘响应两条路由’);//看起来您正在尝试这样做 const authRoutes = require('./routes/auth'); app.use('/api', authRoutes); router.route(['/r

他们清楚地知道,您可以提供
应用程序。将
与特定中间件的路由数组一起使用

它们还描述了如何将路由器拆分为单独的文件

但我不知道如何将这两种方法结合起来

index.js /路由/授权
router.route(“/”)

.all((req,res)=>res.send(‘响应两条路由’);//看起来您正在尝试这样做

const authRoutes = require('./routes/auth');
app.use('/api', authRoutes);


router.route(['/register', '/login']) .   // respond to both
  .all((req, res) => res.send('responds to both routes'); 

router.route('/register') // this is /api/register
  .all((req, res) => {
    res.send('The register route');
  });

router.route('/login') // this is /api/login
  .all((req, res) => {
    res.send('The login route');
  });

但是,这种逻辑有问题,因为当您传递
/api/login
/api/register
时,auth文件中的单个路由
/register
/login
将永远不会被调用。它们将通过第一个数组路由。如果将第一个路由放在底部,那么数组路由将响应bo将永远不会调用第条路由,因为它会转到第一条/注册路由或第二条/登录路由。

您已将数组放入
路由器。路由()
,但在我的代码中,数组在
应用程序中。使用
。你是说它们是等效的吗?实际上不是,
应用程序。使用
是一个中间件,但路由挂载特定于该路由的中间件。但是如果你只为/resister和/login设置中间件,我看不到在app或
/api上提供中间件的区别子路线。
router.route('/')
  .all((req, res) => res.send('responds to both routes'); // <- this works

router.route('/register') // <- But how can I specify a specific route?
  .all((req, res) => {
    res.send('The register route');
  });
const authRoutes = require('./routes/auth');
app.use('/api', authRoutes);


router.route(['/register', '/login']) .   // respond to both
  .all((req, res) => res.send('responds to both routes'); 

router.route('/register') // this is /api/register
  .all((req, res) => {
    res.send('The register route');
  });

router.route('/login') // this is /api/login
  .all((req, res) => {
    res.send('The login route');
  });