как создать один файл маршрута и импортировать его в файл начальной загрузки Nodejs

#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,
]