0

我正在使用 express 4.16 并且我试图保持我的代码整洁,所以我正在使用路由器功能。我知道我们可以链接路由器。让我们看这个例子:

./server.js:

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

app.listen(process.env.PORT || 3000);

./routes/user.js:

var express = require('express');
var router = express.Router();
var carsRoutes = require('./cars');
router.use('/cars', carsRoutes);
router
  .get('/:id', (req, res) => {
    // send back user info
  });
module.exports = router;

./routes/cars.js:

var express = require('express');
var router = express.Router();
router
  .get('/:id', (req, res) => {
    // send back car info
  });
module.exports = router;

所以现在我们可以打电话https//server.com/users/42来获取用户https//server.com/users/cars/42信息和汽车信息。但这并不是我真正想要的,在这种情况下,ahttps//server.com/cars/42会更合适。相反,如果我们想要实现这个 urlhttps//server.com/users/42/cars来获取所有用户 42 的汽车,或者https//server.com/users/42/cars/42获取用户 42 的特定汽车怎么办。你如何告诉 Express 的路由器你也想要'users/:id'

这可能吗?如果可以,我们该怎么做?或者在这个例子中,我应该只在同一个文件中编码用户和汽车路线,并停止分成几个 .js 文件。

4

0 回答 0