我想在Node.js中创建一个测试项目。
我有一个索引.ejs
<!DOCTYPE html>
<html>
<head>
<title>Meine Node.js-Testanwendung</title>
</head>
<body>
<h1>Willkommen auf dem Mars!</h1>
<%- include("locvar.ejs"); %>
<%- include("result.ejs"); %>
</body>
</html>
localvar.ejs
<%
var var1 = "Mars";
var var2 = "Hallo";
%>
结果.ejs
<%- include("locvar.ejs"); %>
<h2>Original Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
<%- include ("change.ejs"); %>
<h2>Change Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
<%
var1 = "Houston";
var2 = "Problem";
%>
<h2>Geänderte Variablen:</h2>
<p>var1: <%= var1 %></p>
<p>var2: <%= var2 %></p>
和改变.ejs
<%
var1 = "Hallo";
var2 = "Mond";
%>
这里是server.js
const express = require('express');
const app = express();
const ejs = require('ejs');
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index.ejs');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
如何传递局部变量?
首先,result.ejs应该首先显示来自locvar.ejs的数据,然后显示来自change.ejs的数据,最后显示来自result的数据。
2条答案
按热度按时间6kkfgxo01#
你可以使用
locals
对象。在本例中,您希望将locvar.ejs
中定义的变量传递给result.ejs
index.ejs应该包含result.js
修改result.ejs以显示从index.ejs传递的变量,然后呈现change.ejs
修改change.ejs以显示从result.ejs传递的变量
mwkjh3gx2#
这就是解决方案:
server.js:
locvar.js <- nicht .ejs
index.ejs
result.ejs
change.ejs
重要的是,我们在server.js中有middelware-route