Я пытаюсь выучить node.js с помощью книги Джонатана Рекслера "Получить программирование с node.js". В главе 10 использование партиалов объясняется очень кратко, и я не заставляю его работать.
Я сделал nav.ejs
в папке partials
, которая выглядит следующим образом:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
Пример layout.ejs
в книге выглядит так:
<body>
<header>Header</header>
<nav>
<% include partials/nav %>
</nav>
<%- body %>
<footer>Footer</footer>
</body>
Но это дает мне синтаксическую ошибку:
SyntaxError: Unexpected identifier in C:\node-projects\wandelverhalen\views\layout.ejs while compiling ejs
С помощью stackoverflow я изменился шаблон include
в:
<% include ("partials/nav"); %>
Это решило ошибку, но не показывает nav
при запуске. А на странице источника указан пустой тег <nav>
.
Буду признателен за любую помощь.
Ради полноты, это мой индекс. js:
"use strict";
const port = 3000;
const express = require("express");
const app = express();
const homeController = require("./controllers/homeController");
const layouts = require("express-ejs-layouts");
app
.set("view engine", "ejs")
.use(
express.urlencoded({
extended: false
})
)
.use(express.json())
.use(layouts)
.use((req, res, next) => {
console.log(`Request made to ${req.url}`);
next();
})
.get("/", homeController.sendReqParam)
.get("/:myname", homeController.sendReqParam)
.listen(port, () => {
console.log(`Server is running on port ${port}`);
});