#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