Почему точка с запятой в шаблоне ejs выдает ошибку
В следующем коде, если точка с запятой удалена, механизм шаблонов не выдает ошибку, иначе выдается ошибка.
<ul>
<% for (i = 0; i < array.length; ++i) { %>
<%= JSON.stringify(array[i]); %>
<% } %>
</ul>
Хотя синтаксически правильная точка с запятой, почему движок шаблонов выдает ошибку?
1 ответ
Решение
Как сказал @torazaburo, содержимое между <=%
а также %>
это выражение, которое анализируется ejs. Однако подумайте об этом так:
Ваша цель - сделать содержимое, возвращенное из JSON.stringify
на страницу правильно? Так что в этом случае думайте о выражениях ejs как о неявно вызывающих .toString()
на результат выражения, а затем вставив эту строку на страницу. Добавляя точку с запятой, вы завершаете оператор, не присваивая возвращаемое значение чему-либо.