node.js - How to dynamically include file with variable in EJS version 2? -


recently, using ejs(version - 0.8.4) working fine following updation in file: node_modules/lib/ejs.js @ line ~ 155 :

old code :

 if (0 == js.trim().indexof('include')) { var name = js.trim().slice(7).trim(); if (!filename) throw new error('filename option required includes'); var path = resolveinclude(name, filename); include = read(path, 'utf8'); include = exports.parse(include, { filename: path, _with: false, open: open, close: close, compiledebug: compiledebug }); buf.push("' + (function(){" + include + "})() + '"); js = '';  } 

to code :

if (0 == js.trim().indexof('include')) { var name = js.trim().slice(7).trim(); if (!filename) throw new error('filename option required includes'); // if not path, variable name (added) if(options[name])      var path = resolveinclude(options[name], filename); else      var path = resolveinclude(name, filename); include = read(path, 'utf8'); include = exports.parse(include, options); // added transfer whole options buf.push("' + (function(){" + include + "})() + '"); js = '';  } 

in ejs file simple write :

<%- include variable%> in place of <%- include header.ejs %> 

where varibale = header or other include filepath.

but not working ejs (version : 2.3.4), should resolve because if won't resolve, ll in big trouble.

one more thing ask : there alternate ejs.filter in updated version(2.3.4)?

instead of using <%- include variable%> try using <%- include (variable) %> takes inside value variable.

if u skip brackets interpret string "variable" , search ejs file.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -