Я пытаюсь использовать Express-роутер, чтобы мой файл app.js был менее заполнен кодом, но у меня возникают проблемы с его перенаправлением в правильное место.
Страница, на которой он должен бытьмаршрутизируется на localhost: 5000 / users / login, но вместо этого он маршрутизирует localhost: 5000 / login.
Я ссылался на проект Vidjot из курса Udemy Брэда Траверси и пытался настроить его таким же образом, но он делаетпохоже, не работает, хотя код тот же.
Ниже приведен код файла app.js и файла users.js, из которого я пытаюсь выполнить маршрутизацию.
// Import and initialize express.
const express = require("express");
const app = express();
// Import necessary modules.
const mongoose = require("mongoose");
const path = require("path");
const exphbs = require("express-handlebars");
// Load routes.
// const gifs = require('./routes/gifs');
const users = require("./routes/users");
// Connect to mongoose.
mongoose
.connect("mongodb://localhost/giphy-saver", {
useMongoClient: true
})
.then(() => {
console.log("MongoDB Connected...");
})
.catch(err => {
console.log(err);
});
// Static folder.
app.use(express.static(path.join(__dirname, "public")));
// Handlebars middleware.
app.engine(
"handlebars",
exphbs({
defaultLayout: "main"
})
);
app.set("view engine", "handlebars");
// Routes.
app.get("/", (req, res) => {
res.render("index", { title: "Giphy Saver" });
});
app.get("/about", (req, res) => {
res.render("about", { title: "About" });
});
// Use routes.
app.use("/users", users);
const PORT = process.env.PORT || 5000;
app.listen(PORT);
const express = require("express");
const mongoose = require("mongoose");
// Used for password encryption.
const bcrypt = require("bcryptjs");
// Used for authentication.
const passport = require("passport");
const router = express.Router();
// Load the User model.
require("../models/User");
const User = mongoose.model("users");
// User login route.
router.get("/login", (req, res) => {
res.render("users/login", { title: "Login" });
});
// User registration route.
router.get("/register", (req, res) => {
res.render("users/register", { title: "Register" });
});
module.exports = router;
Ожидаемый результат заключается в том, что он должен направлять на localhost: 5000 / users / login и localhost: 5000 / users / register вместо localhost: 5000 / users и localhost: 5000 / register.Появляются сообщения об ошибках.