我使用快递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);
./路由/ 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;
./路由/ 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
来获取有关汽车的信息。但是,在这种情况下,我并不是真正想要的https//server.com/cars/42
更合适。如果相反,我们希望实现此网址https//server.com/users/42/cars
以获取所有用户42的汽车,或https//server.com/users/42/cars/42
获取特定用户的汽车42。您如何告诉Express' s路由器你想要'users/:id'
吗?
这是否可行,如果可以,我们该怎么做?或者在这个例子中,我应该只在同一个文件中编写用户和汽车路线,并停止分成几个.js文件。