Express.js ile çalışmak için kalıp şablonu altyapısı almaya çalışıyorum. Benim ilk girişimdi bu:Express.js özel şablon altyapısı (plaka)
app.register('.html', {
compile: function (str, options) {
var template = new plate.Template(str);
return function(locals) {
return template.render(locals, function(err, data) {
return data;
});
}
}
});
Sorun template.render (tanımlanmamış) bir şey döndürmez olduğunu ancak bir geri veri geçiren görüyoruz. Bu durumda Express'in derleme işlevi çağrıldığında çağrılan bir şablonu doğrudan döndüren bir işlev döndürmesi beklendiği için nasıl çalışacağından emin değilim.
Belki de bu sorunu çözmek için vaatleri kullanabileceğimi düşünüyordum, ancak ekspres kodun iade edilmesine dair bir söz beklemediğinden bu yana hiçbir başarı elde edemedim. Im yüzden sadece yanlış yapıyor olabilir değil de sözlerini hızlandırmak için:
İşteapp.register('.html', {
compile: function (str, options) {
var promise = new Promise();
var template = new plate.Template(str);
return function(locals) {
template.render(locals, function(err, data) {
promise.resolve(data);
});
return promise;
}
}
});
işleryapanlara özel uygulamasının bir örnektir. {% Block%} etiketi kadar harika olduğundan gerçekten Levha şablonlarını kullanmak istiyorum
app.register('.html', {
compile: function (str, options) {
var template = _.template(str);
return function (locals) {
return template(locals);
};
}
});
: Fark şablonları şablonu() fonksiyonu doğrudan render dize şöyle döndüren çizgi olduğunu. Herhangi bir yardım takdir edilir.
ilgili belgeler:
Plaka yaratıcısı, bunu istediğimde ifade ile uyumlu hale getirmek için projeye hemen bir yama ekledi. [email protected]+ değişikliğe sahiptir ve uygulama detaylarını görebilirsiniz [https://github.com/chrisdickinson/plate/wiki/Getting-Started---In-Node] – joshontheweb
Bu soru ve sonra doğruysa kabul et! – tjarratt