【问题标题】:What may be causing the "SyntaxError: missing ) after argument list in views\contact-form.ejs while compiling ejs" error?编译 ejs 时,views\contact-form.ejs 中的参数列表后出现“SyntaxError: missing )”错误的原因是什么?
【发布时间】:2019-05-27 12:10:21
【问题描述】:

我已经阅读了大量与此错误相关的帖子,但似乎没有一个涉及 EJS。诚然,我对 EJS(和一般的 JS)非常熟悉,所以如果修复对于经验丰富的开发人员来说是简单而明显的事情,我不会感到震惊。

我的contact-form.ejs 文件中有一个EJS 的sn-p,当用户没有正确或完整地填写表单时,它可以将验证错误以Flash 消息的形式传递给页面。但是,当我尝试导航到联系表单页面时,我的语法会引发上述错误。

我已经查看了 2 天,并在故障排除方面做了几次微不足道的尝试。这是有问题的代码:

<%- messages('message', locals) %>

<% if (errors !== undefined) { %>
    // Output the errors to the page
    <% errors.forEach(function(error) { %>
        <div class="alert alert-danger">
            <%= ${error.message} %>
        </div>
    <% }) %>
<% } %>

【问题讨论】:

    标签: javascript node.js express ejs


    【解决方案1】:

    我认为您混淆了模板语言。尝试删除第 7 行 error.message 周围的 ${},例如:

    <%- messages('message', locals) %>
    
    <% if (errors !== undefined) { %>
        // Output the errors to the page
        <% errors.forEach(function(error) { %>
            <div class="alert alert-danger">
                <%= error.message %>
            </div>
        <% }) %>
    <% } %>
    

    【讨论】:

    • 是的。就是这样。有道理,因为我试图从 Pug 转换其中的一些。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    相关资源
    最近更新 更多