意外的';'在编译没有 ';' 的 ejs 文件时根本

Unexpected ';' while compiling ejs file that does not have ';' at all

我在这个文件中出现这个错误有一段时间了,我不明白原因。 我在这个文件中连分号都没有

<section class="content">
        <% switch(page){ %>
          <% case : "userpage" %>
          <div><%- include("all_users")  %></div>
          <% break %>
          <% case : "postpage" %>
          <div><%- include("all_posts")  %></div>
          <% break %>
          <% default : %>
          <div><%- include("card") %></div>
        <% } %>
</section>

page = "dashboard" 时它将包含 card.ejs 甚至没有分号的文件。 我在这里做错了什么?

我的猜测是,声明:

<% switch(page){ %>

被编译为单独的语句,并在其后附加一个;。将它放在与第一个 case 语句相同的 bracket (<%) 中,它应该可以工作:

  <% switch(page){
          case : "userpage" %>
          <div><%- include("all_users")  %></div>
          <% break;
          case : "postpage" %>
          <div><%- include("all_posts")  %></div>
          <% break;
          default : %>
          <div><%- include("card") %></div>
        <% } %>