Как отображать страницы в nodejs с помощью Router

как я могу отобразить свою страницу "firstsolution.ejs"? У меня есть папка "server.js", "маршруты", которая содержит папки "firstsolution.ejs" и "views", которые содержат папку "solutions", а папка решений содержит "solution1.ejs"

введите описание изображения здесь

Код server.js:

   const fisrtsolution = require("./routes/firstsolution");

код firstsolution.ejs:

    const express = require("express")

    const router = express.Router();


    router.get("/", function(req, res) {
    res.render("./solutions/solution1");
     });

     module.exports = router;

но когда я пытаюсь ввести " http: // localhost: 3000 / firstsolution ", я вижу "Cannot GET / firstsolution"

Всего 2 ответа


Вы забыли включить маршрут в приложение:

const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");
require('dotenv/config');
const app = express();
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(express.static("public"));
app.set("view engine", "ejs"); // IMPORT ROUTES

const firstsolution = require("./routes/firstsolution"); 
app.use('/firstsolution', firstsolution);    // <--------- here

mongoose.connect( process.env.DB_CONNECTION,{ useUnifiedTopology: true,useNewUrlParser: true }, () => console.log("connected to DB") ); 
const port = 3000; 
app.listen(port, () => console.log(server ${port})) 

Попробуйте, надеюсь, мой код поможет вам.

Код server.js:

app.use(require('./routes/firstsolution'));

код firstsolution.ejs:

const express = require("express")

const router = express.Router();

router.get("/", function(req, res) {
  res.render("solutions/solution1");
});

module.exports = router;

Есть идеи?

10000