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
Post a Comment