Я хочу использовать переменную, которая объявлена в файле javascript в файл ejs.Передача переменной из javascript в ejs
JavaScript:
var express = require('express');
var app = express();
var myVar = 1;
В файле EJs, где я хочу использовать эту переменную внутри несколько, если заявления, я должен объявить его снова для того, чтобы иметь возможность использовать его.
EJS файл:
var myVar = 1;
if (my Var) ....
Как я могу избежать этого или есть способ для создания файла конфигурации, который является доступным из обоих яваскрипт и EJS?
Я попробовал также использовать:
app.locals.myVar = 1
но не определено в файле EJs.
------- UPDATE --------------------------
В моем коде я использую:
app.get('/', function (req, res) {
res.render('index', { user : req.user, message: [] });
});
после использования app.locals:
app.get('/', function (req, res) {
res.render('index', { user : req.user, message: [] });
res.render('user_info.ejs');
});
и даже если код работает нормально, я получаю:
ReferenceError: ....user_info.ejs:18
>> 18| height:60px;
user is not defined
at eval (eval at <anonymous> (...node_modules/ejs/lib/ejs.js:464:12), <anonymous>:20:12)
at returnedFn (...node_modules/ejs/lib/ejs.js:493:17)
at View.exports.renderFile [as engine] (.../node_modules/ejs/lib/ejs.js:350:31)
.....
, который не делает чувство, так как я сказал, что код работает fine.And Если я запустить его без добавления второго res.render('user_info.ejs)
У меня нет ошибок.
Итак, могу ли я иметь два заявления res.render?
'app.locals.myVar' должен работать, если вы установите его в правильном месте и правильно его используете в своем шаблоне. Вероятно, вам стоит добавить больше кода. – robertklep
JS не пропускает переменные между файлами. Вместо этого все файлы загружаются и запускаются в глобальном контексте (в браузере это окно). – evolutionxbox
@robertklep: проблема в том, что он не определен в файле ejs. Я не уверен, могу ли я использовать 'var express = require ('express'); var app = express();' также в файле ejs и if да, если он будет использовать значение из файла javascript. – George