【问题标题】:NodeJS & Express - esc is not a functionNodeJS & Express - esc 不是一个函数
【发布时间】:2017-10-14 22:43:27
【问题描述】:

这是我收到的确切错误消息:

类型错误:/Users/benjidurden/Desktop/page-plant-bonham-jones/views/index.ejs:24

22| <div class="spacing"></div>
23| <div class="content">
24| <%- include ./partials/loops %>
25| </div>
26|  <%- include ./partials/scripts %>
27|   </body>

esc 不是函数 在重新抛出

(/Users/benjidurden/Desktop/page-plant-bonham-jones/node_modules/ejs/lib/ejs.js:285:18)

下面显示了loops.ejs的内容;内部存在以下循环。本质上,我试图生成一个 forEach 循环,将所有内容放在这个 div 中。无论如何,我不知道如何解决这个错误。有什么建议吗?

<ul>
<% data.forEach(function(d) { %>
<li data-id=<%=d.id%>>
<input class="input_item" type="text" name="first" 
        placeholder=<%= d.album %> readonly>
      <span class="edit">edit</span>
      <span class="delete">delete</span>
    </li> 
   <% }) %>
</ul>

【问题讨论】:

标签: javascript node.js express


【解决方案1】:

这通常在 ejs 模板中未定义对象时触发,这可能是您的情况。

尝试在控制台中记录data。如果dataundefined,那么esc is not a function 错误很明显会发生,因为这意味着data 对您的模板不可用,这就是您要显示的内容。通过向模板提供适当的数据来解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    相关资源
    最近更新 更多