У меня есть этот код, и он возвращает эту ошибку - PullRequest
0 голосов
/ 03 июля 2018

Это мой код:

        <% if(errors){ %>
            <% errors.forEach(e => { %>
                <div class="alert alert-danger">
                    <%= e.msg %>
                </div>
            <% }); $>
        <% }; %>

У меня есть один из моих тегов h2, и, прежде чем кто-нибудь спросит, да, я передал параметр ошибок. Теперь время для ошибки

Error: Could not find matching close tag for "<%".
at C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:693:19
at Array.forEach (<anonymous>)
at Template.generateSource (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:678:15)
at Template.compile (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:557:12)
at Object.compile (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:389:16)
at handleCache (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:212:18)
at tryHandleCache (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:251:16)
at View.exports.renderFile [as engine] (C:\Users\dylda\Desktop\server_helper\node_modules\ejs\lib\ejs.js:482:10)
at View.render (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\view.js:135:8)
at tryRender (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\application.js:640:10)
at Function.render (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\application.js:592:3)
at ServerResponse.render (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\response.js:1008:7)
at C:\Users\dylda\Desktop\server_helper\routes\main.js:59:17
at Layer.handle [as handle_request] (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\dylda\Desktop\server_helper\node_modules\express\lib\router\route.js:112:3)    

Все остальные мои теги закрыты, так как когда я избавляюсь от этого, ошибка тоже исчезает.

Спасибо за помощь заранее

Ответы [ 3 ]

0 голосов
/ 03 июля 2018

Если вы посмотрите на полученную ошибку, то заметите, что там написано Ошибка: не удалось найти соответствующий закрывающий тег для "<%" </em>.

Если вы посмотрите на предоставленный вами код, то заметите, что нет соответствующего закрывающего тега "<%".

Это должно исправить:

        <% if(errors){ %>
        <% errors.forEach(e => { %>
            <div class="alert alert-danger">
                <%= e.msg %>
            </div>
        <% }); %>  // Notice change here
    <% }; %>
0 голосов
/ 06 июля 2018

В файле ejs2 вы должны использовать <$ $>, <% %>, <? ?> и <@ @> Поэтому вы должны использовать один из них.

<$ %>, `<@ ?>`

Считается ошибкой

0 голосов
/ 03 июля 2018

На предпоследней строке вы написали $> вместо %>

<% if(errors){ %>
        <% errors.forEach(e => { %>
            <div class="alert alert-danger">
                <%= e.msg %>
            </div>
        <% }); %> // this line has a $>, instead of %>
    <% }; %>
...