提问人:Ola Abbood 提问时间:11/11/2023 最后编辑:Ola Abbood 更新时间:11/11/2023 访问量:19
将 Mustache 转换为 EJS
converting mustache to ejs
问:
这是我的ejs代码中的截图,来自home.html
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
我的引擎看起来像这样
<form class="form-inline w-75 mt-2 mt-md-0" method="POST" action="/home">
<div class="input-group mr-sm-2 w-75">
<div class="input-group-prepend">
<div class="input-group-text">{{currentUser}}</div>
</div>
<input type="hidden" name="csrf" value="{{token}}">
<input
type="text"
name="squeak"
class="form-control"
id="squeak"
/>
</div>
<button type="submit" class="btn btn-primary mr-sm-2 disabled">
Squeak!
</button>
</form>
....
<div class="container">{{#posts}}
<div class="card mb-2">
<div class="card-header">
{{username}}
<span class="float-right">{{time}}</span>
</div>
<div class="card-body">
<p class="card-text">
{{post}}
</p>
</div>
我不知道如何将其转换为基于 esj 的。
我试着这样做
<form class="form-inline w-75 mt-2 mt-md-0" method="POST" action="/home">
<div class="input-group mr-sm-2 w-75">
<div class="input-group-prepend">
<div class="input-group-text"><h3><%= currentUser %></h3></div>
</div>
<input type="hidden" name="csrf" value="<p><%= posts %></p>">
<input
type="text"
name="squeak"
class="form-control"
id="squeak"
/>
</div>
<button type="submit" class="btn btn-primary mr-sm-2 disabled">
Squeak!
</button>
</form>
...
<div class="container"><p>#posts %></p>
<div class="card mb-2">
<div class="card-header">
<p><%= username %></p>
<span class="float-right"><p><%= time %></p></span>
</div>
<div class="card-body">
<p class="card-text">
<p><%= post %></p>
</p>
</div>
但由于多种原因,它确实被编译了,例如,#post 应该被声明为私有类等
我的 javascript 代码看起来像这样,squeaks 是我保存信息的 json 文件。
squeaks = fs.readFileSync("squeaks", { encoding: "utf-8" });
squeaks = JSON.parse(String(squeaks));
posts = [];
keys = [];
for (let i in squeaks) {
keys.push(i);
}
keys = keys.reverse();
for (let i in keys) {
posts.push(squeaks[keys[i]]);
}
var data = { currentUser: cookie.username, posts: posts};
res.render("homeView", data);
答: 暂无答案
评论