#node.js
Вопрос:
Я пытаюсь создать маршруты в другой папке, а затем получить к ним доступ в моей основной app.js Вот мои оба файла.
app.js
const express = require("express");
const {router, users} = require("./routers/routers");
const app = express();
const PORT = 3000;
app.get("/", (req, res)=>{
res.send("Home Page");
})
app.use("/users", users);
app.listen(PORT, ()=>{
console.log("Server Started");
})
routers.js
const express = require("express");
const router = express.Router();
const users = router.get("/users", (req, res) => {
console.log("Route Created");
})
module.exports = {router, users};
и это та ошибка, которую я получаю
TypeError: Router.use() requires a middleware function but got a undefined
Ответ №1:
Ошибка вызвана отсутствием импортированных методов из routers.js. Убедитесь, что ваши имена файлов и каталогов указаны правильно. С app.js в корневом каталоге и routers.js в /маршрутизаторах все выглядит нормально и работало, когда я запускал его локально.
Кроме того, поскольку вы задаете путь для «/пользователей» в обоих app.js и routers.js, фактический используемый путь — «/пользователи/пользователи». Предполагая, что это не было задумано, я бы предложил удалить параметр path из одного из этих методов.