exports.render = function(filename) {
var source = fs.readFileSync(filename, 'utf-8');
var compiled = compile(source);
var time = new Date().getTime();
return function(obj) {
fs.stat(filename, function(err, stat) {
if (err) {
throw new Error(err);
}
if (new Date(stat.mtime).getTime() > time) {
fs.readFile(filename, 'utf-8', function(err, data) {
if (err) {
throw new Error(err);
}
compiled = compile(data);
time = new Date().getTime();
console.log('file was changed');
});
}
});
// console.log(compiled);
return new Function('vars', 'vars=vars||{};var out="";with(vars){' +
compiled + '};return out')(obj);
}
}
Вот обновляются но в последующий раз с этой конченной ассинхронностью какая-то хрень получается. если синхронно сделать, то все будет норм, при изменении шаблона все тут же будет отображаться, а ассинхронно как сделать не представляю(ну вот вариант привел, если чото изменяешь, то сначала из кэша, потом показывается уже измененный вариант)