无法在 node_modules/ejs/lib/ejs.js 中为 Array.foreach() 找到“<%”的匹配结束标记
Could not find matching close tag for "<%" in node_modules/ejs/lib/ejs.js for Array.foreach()
我是 node 的新手,mongoDB 在这里我试图建立一个待办事项列表。我的项目文件夹 beautiful-todolist_mongoDB 有一个包含 list.ejs 和其他 .ejs 文件的视图文件夹。
错误:找不到“<%”的匹配结束标记。
在 /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:730:15)
在 Template.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:585:12)
在 Object.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:396:16)
在 handleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:233:18)
在 tryHandleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:272:16)
在 View.exports.renderFile [作为引擎] (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:489:10)
在 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
<%- 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 中有错误,而是说我缺少结束标记在 beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:740:19
你的按钮有错别字:
<button type="submit" name="list" value="<%" ="listTitle%">>+</button>
您没有在此处关闭 ejs 标签。应该是这样的:
<button type="submit" name="list" value="<%= listTitle %>">+</button>
我是 node 的新手,mongoDB 在这里我试图建立一个待办事项列表。我的项目文件夹 beautiful-todolist_mongoDB 有一个包含 list.ejs 和其他 .ejs 文件的视图文件夹。
错误:找不到“<%”的匹配结束标记。 在 /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:730:15) 在 Template.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:585:12) 在 Object.compile (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:396:16) 在 handleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:233:18) 在 tryHandleCache (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:272:16) 在 View.exports.renderFile [作为引擎] (/Users/xxx/Documents/beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:489:10) 在 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
<%- 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 中有错误,而是说我缺少结束标记在 beautiful-todolist_mongoDB/node_modules/ejs/lib/ejs.js:740:19
你的按钮有错别字:
<button type="submit" name="list" value="<%" ="listTitle%">>+</button>
您没有在此处关闭 ejs 标签。应该是这样的:
<button type="submit" name="list" value="<%= listTitle %>">+</button>