#node.js #express
Вопрос:
У меня может быть несколько файлов маршрутов, которые я не хочу регистрировать в app.js файл. Я создал папку маршрутизатора внутри папки маршрутизатора, чтобы создать route.js файл, в котором я определю файл маршрута и экспортирую его в app.js файл, но когда я использовал app.use, в нем говорится, что app.use() требует функции промежуточного программного обеспечения. Как я могу это исправить?
App.js
import Router from './router/route';
app.use(Router);
route.js
import AbcController from '../controller/AbcController';
import XyzController from '../controller/XyzController';
export default {
AbcController,
XyzController,
};
AbcController.js
import {Router} from 'express';
const router = Router();
router.post('/register', (req, res) => {
console.log(req.body);
});
export default router;
если я экспортирую один файл, он действительно работает, например
routes.js
import AbcController from '../controller/AbcController';
export default AbcController;
Ответ №1:
Вам нужно экспортировать контроллеры в виде массива. Вы можете использовать следующее:
В route.js
import AbcController from '../controller/AbcController';
import XyzController from '../controller/XyzController';
export default [
AbcController,
XyzController,
]