Я реализую webapp using node.js и выражаю, используя движок jade template.express + jade: предоставлена локальная переменная undefined in view (node.js + express + jade)
Шаблоны визуализируются в порядке и могут обращаться к помощникам и динамическим помощникам, но не к локальным переменным, кроме локальной переменной "body", которая предоставляется экспресс-функцией и доступна и определена в моем layout.jade.
Это часть кода:
app.set ('view engine', 'jade');
app.get ("/test", function (req, res) {
res.render ('test', {
locals: { name: "jake" }
});
});
и это test.jade:
p hello
=name
, когда я удалить вторую строку (ссылки на название), шаблон делает правильно, показывая слово «привет» на веб-странице. Когда я включаю = имя, он бросает ReferenceError:
500 ReferenceError: Jade:2 NaN. 'p hello' NaN. '=name' name is not defined
NaN. 'p hello'
NaN. '=name'
Я считаю, что я после нефрита и выразить примеры именно по отношению к локальным переменным. Я что-то делаю неправильно, или это может быть ошибка в экспресс или нефрит?
Работает хорошо здесь (Node 3.4, Джейд 0,6, Экспресс 0,7. 2), можете ли вы предоставить дополнительную информацию? Например. ваши версии, а также layout.jade. –
Спасибо, что исправил его. Во время некоторой путаницы установки я закончил с устаревшей экспресс-папкой в ~/.node_libraries. Удалив его и запустив «npm install express», установите последнюю исправленную проблему. – Jake
Что касается StackOverflow, что мне делать? Удалить вопрос? Это неправдоподобно для других, так как это всего лишь версия. И я не могу отметить ваш комментарий как правильный ответ. – Jake