экспресс-ошибка Не может ПОЛУЧИТЬ / при перемещении маршрутизатора в файл challengeRouter?

#node.js #express #router

#node.js #экспресс #маршрутизатор

Вопрос:

Я создал expressjs API, когда я перемещаю маршрутизатор в challengeRouter, у меня появляется сообщение об ошибке

Не удается ПОЛУЧИТЬ /

challengeRouter.js

 const express = require('express');

function routes() {
    const challengeRouter = express.Router();
    challengeRouter.route("/challenge")
    .get((req, res) => {

        const respons = { hello: `this is get ${sealingNumber}`  };
        res.json(respons);
    });

    return challengeRouter;

  }
  
  module.exports = routes;
 

app.js

 const express = require('express');

const app = express();
const port = process.env.PORT || 3000;
const challengeRouter = require('./routes/challengeRouter');

app.use("/api",challengeRouter)


app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})
 

Комментарии:

1. Чтобы получить доступ к маршрутам так, как у вас есть, я думаю, вам нужно сделать app.use("/api",challengeRouter()) . Когда вы делаете что-то подобное, app.use("/api",challengeRouter) express ожидает отправки (req, res)

Ответ №1:

Определение всех конечных точек в одном файле — отличный способ начать работу, но это не будет хорошо масштабироваться, поскольку вы добавляете больше маршрутов в приложение.

 const router = new express.Router()
router.post('/someEndpoint', (req, res) => {
// Do something
})
module.exports = router
 

Маршрутизатор, определенный в приведенном выше файле, может быть добавлен в приложение Express в index.js

 app.use(router)
 

Для получения дополнительной https://expressjs.com/en/guide/routing.html