EJS 由于某种原因找不到结束标签

EJS cant find a closing tag for some reason

如果变量 <%= active %> 是 mycontent 我想添加一个按钮

<% if (<%= active %> === "mycontent" ){ %>
    <div class="myContent-container">
        <button class="btn btn-main-bg">Create</button>
    </div>
  <% } %>

但是网站上说

Error: Could not find matching close tag for "<%".
at C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:740:19
at Array.forEach (<anonymous>)
at Template.generateSource (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:730:15)
at Template.compile (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:585:12)
at Object.compile (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:396:16)
at handleCache (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:233:18)
at tryHandleCache (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:272:16)
at View.exports.renderFile [as engine] (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\ejs\lib\ejs.js:489:10)
at View.render (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\express\lib\view.js:135:8)
at tryRender (C:\Users\tlege\OneDrive\Masaüstü\Site(1.0)\node_modules\express\lib\application.js:640:10)

答案很简单。我所要做的就是从代码中删除 <%= 和 =%>。因为它已经是一个代码块,所以它不需要额外的 ejs 字符。

所以答案应该是这样的:

<% if (active === "mycontent" ){ %>
<div class="myContent-container">
    <button class="btn btn-main-bg">Create</button>
</div>
<% } %>