EJS 标签
如果你写过 JavaScript,这些标签就是“在 HTML 里写 JS”的几种不同模式。记住下面的区分,写模板时就能随手控制输出和空白了。
<%
纯逻辑区,里面写任意 JS(if / for / 声明变量…),不会向页面输出任何东西。
<%_
会把它之前的所有空白(空格、制表符)都删掉,不留多余空格。
<%=
安全输出。把表达式的值转义后插入模板(< 会变成 < 等),防 XSS。
<%-
原始输出。把值不转义直接塞进 HTML,可以渲染富文本。
相当于 innerHTML,要小心 XSS,只在你信任内容时用。
<%#
注释,里面的东西既不执行,也不会出现在输出里,编译时就扔掉了。
<%%
转义输出字面量 '<%'。 ,因为 <% 被当成标签开头,要原样输出这两个字符就得这样写。
%>
普通闭合标签,结束一段 EJS 代码。
-%>
会删掉它后面紧跟着的换行符,下一行会紧贴上来。
_%>
会删掉它后面的所有空白(空格、制表符),直到下一个非空白字符。