将 Mustache 转换为 EJS

converting mustache to ejs

提问人:Ola Abbood 提问时间:11/11/2023 最后编辑:Ola Abbood 更新时间:11/11/2023 访问量:19

问:

这是我的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);
JavaScript 节点 .js EJS 小胡子

评论


答: 暂无答案