Экспресс-маршрут не срабатывает при вызове - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть маршрут, определенный в моем приложении Express, и он находится внутри маршрутизатора, который импортируется в мое приложение в главном файле.

Мой маршрутизатор установлен следующим образом в index.js

const Routes = require('./routes');
app.use('/address', Routes.AddressRoutes);

в папке маршрутов, у меня адрес маршрутизатора выставлен так:

//./routes/index.js
const AddressRoutes = require('./address');
module.exports = Routes = {
    AddressRoutes,
};

// ./routes/address.js
const router = require('express').Router();
const {Address} = require('./routeActions');
module.exports = () => {
    router.post('/', Address.add);
    return router;
};

// ./routes/routeActions/index.js
const Address = require('./user');

module.exports =  {
  Address,
};

// ./routes/routeActions/address.js
module.exports = Address = {
    add: (req,res) => {....}
};

Проблема в том, что у меня есть точка останова в коде VS внутри функции add(), ноединственное, что попадает в цель, - это определение маршрута, а не фактический обработчик.Я делаю модули слишком сложными?Как я могу заставить обработчик вызываться, чтобы я мог отлаживать его?

1 Ответ

0 голосов
/ 19 апреля 2019

Два варианта исправления.

При добавлении определений маршрутов запустите экспортируемую функцию.

const Address = require('./address')();

Или при экспорте определений маршрутов просто экспортируйте маршрутизатор из файла.

module.exports = router; не module.exports = () => {routeHandlers.... return router}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...