为什么 mypartial.ejs 没有显示?
Why is mypartial.ejs not showing?
我正在尝试借助 Jonathan Wrexler 的书 "Get programming with node.js" 来学习 node.js。在第 10 章中非常简要地解释了 partials 的使用,但我没有让它工作。
我在 partials
文件夹中创建了一个 nav.ejs
,如下所示:
<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
在 Whosebug 的帮助下,我将 include
模板更改为:
<% include ("partials/nav"); %>
这解决了错误,但是当我 运行 时它不显示 nav
。页面源代码显示了一个空的 <nav>
标签。
如有任何帮助,我将不胜感激。
为了完整起见,这是我的 index.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}`);
});
您想使用 <%- include ("partials/nav"); %>
来呈现您的部分。 <%
仅用于脚本和控制流,不产生任何输出,因此您看不到任何添加到页面的内容。在 <%
后添加 -
将导致它输出 include ("partials/nav")
.
的未转义值
我正在尝试借助 Jonathan Wrexler 的书 "Get programming with node.js" 来学习 node.js。在第 10 章中非常简要地解释了 partials 的使用,但我没有让它工作。
我在 partials
文件夹中创建了一个 nav.ejs
,如下所示:
<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
在 Whosebug 的帮助下,我将 include
模板更改为:
<% include ("partials/nav"); %>
这解决了错误,但是当我 运行 时它不显示 nav
。页面源代码显示了一个空的 <nav>
标签。
如有任何帮助,我将不胜感激。
为了完整起见,这是我的 index.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}`);
});
您想使用 <%- include ("partials/nav"); %>
来呈现您的部分。 <%
仅用于脚本和控制流,不产生任何输出,因此您看不到任何添加到页面的内容。在 <%
后添加 -
将导致它输出 include ("partials/nav")
.