代码之家  ›  专栏  ›  技术社区  ›  dunubh

在node_modules/ejs/lib/ejs中找不到“<%”的匹配关闭标记。js代表数组。foreach()

  •  0
  • dunubh  · 技术社区  · 2 年前

    我对node和mongoDB还不熟悉,在这里我试图建立一个待办事项列表。我的项目文件夹 美丽的托多利斯特·蒙哥达 有一个视图文件夹,其中包含 列表ejs 等等。ejs文件。

    错误 :找不到“<%”的匹配关闭标记。 位于/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs。js:740:19 在阵列上。forEach() 在模板上。generateSource(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:730:15) 在模板上。编译(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:585:12) 反对。编译(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:396:16) 在handleCache(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:233:18) 在tryHandleCache(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:272:16) 就在眼前。出口。renderFile[作为引擎](/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/ejs/lib/ejs.js:489:10) 就在眼前。render(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/express/lib/view.js:135:8) 在tryRender(/Users/xxx/Documents/beauty-todolist_mongoDB/node_modules/express/lib/application.js:640:10)

    我的 列表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") -%>
    
    
    

    我不明白为什么它显示我缺少一个结束标签 <% .当我使用for循环时,相同的代码也在工作,但forEach不工作。 此外,我试着阅读错误并寻找根本原因,但它并没有说明我的错误 beautiful-todolist_mongoDB/node_modules/views/list。ejs 而是说我的结尾标签不见了 Beauty-todolist_mongoDB/node_modules/ejs/lib/ejs。js:740:19

    1 回复  |  直到 2 年前
        1
  •  1
  •   madzong    2 年前

    你的按钮上有一个输入错误:

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

    你不能在这里关闭ejs标签。应该是这样的:

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