Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ejs模板内的开关条件语句分号错误_Node.js_Express_Ejs - Fatal编程技术网

Node.js ejs模板内的开关条件语句分号错误

Node.js ejs模板内的开关条件语句分号错误,node.js,express,ejs,Node.js,Express,Ejs,我试图在ejs模板内切换条件,但出现错误 这是我的密码: <% switch(check) {%> <% case check == 'like' : %> <button href="#<%=item._id%>" id="like" class="recommendation good open-recommendation-form">

我试图在ejs模板内切换条件,但出现错误

这是我的密码:

<% switch(check) {%>
    <% case check == 'like' : %>
        <button href="#<%=item._id%>" id="like"  class="recommendation good  open-recommendation-form">
            <span class="icon-like"></span>
        </button>
        <button href="#<%=item._id%>" id="dislike"  class="recommendation bad hoverable open-recommendation-form">
            <span class="icon-dislike"></span>
        </button>
        <%break%>
    <% case check == 'dislike' : %>
        <button href="#<%=item._id%>" id="like"  class="recommendation good hoverable open-recommendation-form">
            <span class="icon-like"></span>
        </button>
        <button href="#<%=item._id%>" id="dislike"  class="recommendation bad  open-recommendation-form">
            <span class="icon-dislike"></span>
        </button>
        <%break%>
    <% default : %>
        <button href="#<%=item._id%>" id="like"  class="recommendation good hoverable open-recommendation-form">
            <span class="icon-like"></span>
        </button>
        <button href="#<%=item._id%>" id="dislike"  class="recommendation bad hoverable  open-recommendation-form">
            <span class="icon-dislike"></span>
        </button>  
    <%break%>  
<%} %> 

我得到的错误是:

SyntaxError:意外标记“;”编译ejs时,在/Users/ismail/Desktop/expressjsblank/views/dashboard/purchases.ejs中

如果上述错误没有帮助,您可能需要尝试EJS Lint:
https://github.com/RyanZim/EJS-Lint
或者,如果要创建异步函数,请将'async:true'作为选项传递。
在新函数()处
在Template.compile(/Users/ismail/Desktop/expressjsblank/node_modules/ejs/lib/ejs.js:632:12)
在Object.compile(/Users/ismail/Desktop/expressjsblank/node_modules/ejs/lib/ejs.js:368:16)
在handleCache(/Users/ismail/Desktop/expressjsblank/node_modules/ejs/lib/ejs.js:216:18)
在tryHandleCache(/Users/ismail/Desktop/expressjsblank/node_modules/ejs/lib/ejs.js:255:16)
在View.exports.renderFile[作为引擎](/Users/ismail/Desktop/expressjsblank/node_modules/ejs/lib/ejs.js:461:10)
在View.render(/Users/ismail/Desktop/expressjsblank/node_modules/express/lib/View.js:135:8)
在tryRender(/Users/ismail/Desktop/expressjsblank/node_modules/express/lib/application.js:640:10)
在Function.render(/Users/ismail/Desktop/expressjsblank/node_modules/express/lib/application.js:592:3)
在ServerResponse.render(/Users/ismail/Desktop/expressjsblank/node_modules/express/lib/response.js:1012:7)

开关/case
语句更改为以下应该可以解决问题(简化版,只有一个
案例
):


switch/case
语句更改为以下内容应该可以解决问题(简化版,只有一个
case
):


您共享的代码与您收到的错误无关。错误中提到的符号不在您的代码中。您共享的代码与您收到的错误无关。错误中提到的符号不在代码中的任何地方。我已将其更改为if条件,它工作得很好,这当然是另一种方法。用if语句作为答案发布您的解决方案,接受我的答案或删除您的问题。谢谢:)@eol你能解释一下为什么你的答案有效,而不是作者写的上面的答案吗?我已经把它改成了if条件,而且效果很好,这当然是另一种方法。用if语句作为答案发布您的解决方案,接受我的答案或删除您的问题。谢谢:)@eol你能解释一下为什么你的答案有效,而不是作者写的上述内容吗?
If the above error is not helpful, you may want to try EJS-Lint:
https://github.com/RyanZim/EJS-Lint
Or, if you meant to create an async function, pass `async: true` as an option.
    at new Function (<anonymous>)
    at Template.compile (/Users/ismail/Desktop/expressjs-blank/node_modules/ejs/lib/ejs.js:632:12)
    at Object.compile (/Users/ismail/Desktop/expressjs-blank/node_modules/ejs/lib/ejs.js:368:16)
    at handleCache (/Users/ismail/Desktop/expressjs-blank/node_modules/ejs/lib/ejs.js:216:18)
    at tryHandleCache (/Users/ismail/Desktop/expressjs-blank/node_modules/ejs/lib/ejs.js:255:16)
    at View.exports.renderFile [as engine] (/Users/ismail/Desktop/expressjs-blank/node_modules/ejs/lib/ejs.js:461:10)
    at View.render (/Users/ismail/Desktop/expressjs-blank/node_modules/express/lib/view.js:135:8)
    at tryRender (/Users/ismail/Desktop/expressjs-blank/node_modules/express/lib/application.js:640:10)
    at Function.render (/Users/ismail/Desktop/expressjs-blank/node_modules/express/lib/application.js:592:3)
    at ServerResponse.render (/Users/ismail/Desktop/expressjs-blank/node_modules/express/lib/response.js:1012:7)
<% switch(check) {
case 'like' : %>
<button href="#<%= item._id %>" id="like" class="recommendation good  open-recommendation-form">
    <span class="icon-like">TEST</span>
</button>
<% break;
}
%>
res.render('name-of-ejs-template', {item: {_id: "https://www.stackoverflow.com"}, check: 'like'});