我已将controller + route逻辑合并到一个文件中,并在app.js
中这样加载
// Load all routes + controllers
fs.readdirSync('./controllers').forEach(function (fileName) {
require(`./controllers/${fileName}`)(router);
});
在我的user.controller.js
文件中,我有:
module.exports = (router) => {
router.get('/user/getAll', requireAuth(Role.Admin), function(req, res, next) {
User.find({}, { password: false }, (err, users) => {
res.send(users);
});
});
router.post('/user/add', requireAuth(Role.Admin), function(req, res, next) {
...
});
...
}
注意,我需要一直/user
添加基本路径。
我想做的是动态设置基本路径,所以我不需要在每条路线上都添加它。
我试图像这样加载我的route +控制器而没有成功,因为它没有通过router参数。
// Load all routes + controllers
fs.readdirSync('./controllers').forEach(function (fileName) {
app.use(`/${path.parse(fileName).name}`, require(`./controllers/${fileName}`));
});
有什么想法可以使它起作用吗?如何将router
传递给控制器