找不到'%&quot的匹配的近距离标签在node_modules/ejs/lib/ejs.js for array.foreach()

发布于 2025-01-26 09:39:16 字数 2429 浏览 1 评论 0原文

我是Node和MongoDB的新手,在这里,我正在尝试建立一个待办事项列表。我的Project文件夹 beautiful-todolist_mongodb 具有一个包含 list.ejs 和其他.EJS文件的视图文件夹。

错误:找不到“<%”的匹配近距离标签。 at/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js:740:19 在array.foreach() 在template.generatesource(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js.js:730:15) 在template.compile(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js.js:585:12) 在object.com.pile(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.jss.js:396:16) 在handlecache(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.jss.js:233:18) 在tryhandlecache(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js:272:16) at View.exports.renderfile [AS ENGINE](/users/xxx/documents/beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js.s.js:489:10) at View.render(/Users/xxx/documents/beautiful-todolist_mongodb/node_modules/express/lib/view.js:135:8) 在tryrender(/users/xxx/documents/beautiful-todolist_mongodb/node_modules/express/lib/application.js:640:10)

我的 list.ejs.ejs.ejs


<%- include("header") -%>
<div class="box" id="heading">
  <h1><%=listTitle%></h1>
</div>

<div class="box">
  <!-- <% for (var i=0; i<listItems.length ; i++) { %>
          <div class="item">
            <input type="checkbox">
            <p><%= listItems[i].name %></p>
          </div>
          <% } %> -->
  <% listItems.forEach(function(item){ %>
  <div class="item">
    <input type="checkbox" />
    <p><%= item.name %></p>
  </div>
  <% }) %>
  <form class="item" action="/" method="post">
    <input
      type="text"
      name="task"
      id="task"
      placeholder="New Item"
      autocomplete="off"
    />
    <button type="submit" name="list" value="<%" ="listTitle%">>+</button>
  </form>
</div>
<%- include("footer") -%>


我不明白我为什么表现出我有我的表现&lt;%的缺少关闭标签。当我使用for Loop时,同一代码正在工作,但Foreach不起作用。 另外,我尝试阅读错误并寻找根本原因,但是它没有说我是否有 beautiful-todolist_mongodb/node_modules/views/list.ejs 而不是缺少关闭的关闭 beautiful-todolist_mongodb/node_modules/ejs/lib/ejs.js中的标签:740:19

I new to node and mongoDB and here I am trying to build a to-do-list. My project folder beautiful-todolist_mongoDB has a views folder containing list.ejs and other .ejs files.

Error : Could not find matching close tag for "<%".
at /Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:740:19
at Array.forEach ()
at Template.generateSource (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:730:15)
at Template.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:585:12)
at Object.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:396:16)
at handleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:233:18)
at tryHandleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:272:16)
at View.exports.renderFile [as engine] (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:489:10)
at View.render (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/express/lib/view.js:135:8)
at tryRender (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/express/lib/application.js:640:10)

My list.ejs


<%- include("header") -%>
<div class="box" id="heading">
  <h1><%=listTitle%></h1>
</div>

<div class="box">
  <!-- <% for (var i=0; i<listItems.length ; i++) { %>
          <div class="item">
            <input type="checkbox">
            <p><%= listItems[i].name %></p>
          </div>
          <% } %> -->
  <% listItems.forEach(function(item){ %>
  <div class="item">
    <input type="checkbox" />
    <p><%= item.name %></p>
  </div>
  <% }) %>
  <form class="item" action="/" method="post">
    <input
      type="text"
      name="task"
      id="task"
      placeholder="New Item"
      autocomplete="off"
    />
    <button type="submit" name="list" value="<%" ="listTitle%">>+</button>
  </form>
</div>
<%- include("footer") -%>


I don't understand why it shows that I have a missing closing tag for <%. The same code is working when I use the for loop but forEach is not working.
Also, I tried reading the error and looking for the root cause but it does not say if I have an error in beautiful-todolist_mongoDB/node_modules/views/list.ejs rather it says I have a missing closing tag in beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:740:19

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧街凉风 2025-02-02 09:39:16

您的按钮上有一个错字:

<button type="submit" name="list" value="<%" ="listTitle%">>+</button>

您没有在此处关闭EJS标签。应该这样:

<button type="submit" name="list" value="<%= listTitle %>">+</button>

There's a typo at your button:

<button type="submit" name="list" value="<%" ="listTitle%">>+</button>

You are not closing the ejs tags here. It should be like this:

<button type="submit" name="list" value="<%= listTitle %>">+</button>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文