From 79f4ed80d65953cfcbbdc5dd164d370c7ec07c8f Mon Sep 17 00:00:00 2001 From: chestozo Date: Sat, 3 May 2014 13:35:55 +0400 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B3=D0=BB=D0=BE=D0=B1=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D1=8B=20=D0=B2?= =?UTF-8?q?=D0=BE=20=D0=B2=D1=80=D0=B5=D0=BC=D1=8F=20=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2?= =?UTF-8?q?=20nodejs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/actions.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/actions.js b/lib/actions.js index 092ecbc..905f538 100644 --- a/lib/actions.js +++ b/lib/actions.js @@ -196,7 +196,7 @@ yate.compile = function(filename) { // ----------------------------------------------------------------------------------------------------------------- // -yate.run = function(yate_filename, data, ext_filename, mode) { +yate.run = function(yate_filename, data, ext_filename, mode, globals) { // Читаем runtime. var js = fs_.readFileSync( path_.join(__dirname, './runtime.js'), 'utf-8' ); @@ -214,9 +214,17 @@ yate.run = function(yate_filename, data, ext_filename, mode) { mode = mode || ''; js += 'yr.run("main", data, "' + mode + '");'; - var result = vm_.runInNewContext(js, { + // Глобальные объекты, доступные во время шаблонизации из external функций. + var sandbox = { console: console - }); + }; + + globals = globals || {}; + for (var objName in globals) { + sandbox[objName] = globals[objName]; + } + + var result = vm_.runInNewContext(js, sandbox); function getData(o) { if (o.filename) {