在快递中使用多个路由器

Sah*_*bay 2 node.js express

我已经将路由应用到我的应用程序中,如下所示:

var express = require('express');
var app = express();
var router = express.Router();

  //localhost:8080/api/story
router.get('/story', function(req, res){
    res.send('welcome to our story');
})

  //localhost:8080/api
app.use('/api', router); 

  //localhost:8080/user/02213
router.get('/user/:id', function(req , res){ 
  console.log(req.params.id);
});
Run Code Online (Sandbox Code Playgroud)

localhost:8080/user/02213目前无法正常工作。我是否需要创建一个新的路由器呢?

rob*_*lep 5

是的,你需要创建一个新的路由器,因为router将只用于与启动请求/api

//localhost:8080/api/story
router.get('/story', function(req, res){
  res.send('welcome to our story');
})

//localhost:8080/api
app.use('/api', router); 

//localhost:8080/user/02213
var anotherRouter = express.Router();
anotherRouter.get('/user/:id', function(req , res){ 
  console.log(req.params.id);
  res.end();
});
app.use('/', anotherRouter);
Run Code Online (Sandbox Code Playgroud)