Ответ 1
Вы должны передать переменную без locals
. Это, вероятно, ново в express 3.0.0
res.render("index", {title: "Blog"});
У меня возникла очень простая проблема, но я не могу найти ответ на нее. Я работаю с node.js
, express
, и я просто пытаюсь передать локальную переменную в представление следующим образом:
app.get('/', function(req, res){
res.render("index", {locals: {
title: "Blog",
}
});
});
Мой индексный индекс одинаково прост:
h1= title
Но по какой-то причине я продолжаю получать эту ошибку, как будто локальная переменная никогда не передается:
500 ReferenceError: /home/spartan/Node_Projects/test/views/index.jade:1 > 1| h1= title 2| title is not defined
> 1| h1= title
2| title is not defined
Я не знаю, что я делаю неправильно! Вот версии, которые я использую:
Кто-нибудь, пожалуйста, помогите, чтобы я мог перейти к обучению node + express!
Вы должны передать переменную без locals
. Это, вероятно, ново в express 3.0.0
res.render("index", {title: "Blog"});
h1 = title пытается оценить его локально, название, которое вы отправили, и другое. Чтобы понять разницу, см.:
- var title = 'my title' // - allows writing code
h1 = title
Тот, который вы должны использовать, это:
h1 #{title}
Вот ответ, который я сделал несколько часов назад на знакомый вопрос (+ сделка с макетом). Он показывает, как передавать данные при рендеринге. (Express 3.0.0)