Клиентская среда JS с шаблонами и кэшированием? - PullRequest
5 голосов
/ 25 июня 2011

Я использую node.js на стороне сервера, express.js и jade.Я написал небольшую функцию-обертку для заполнения нефритовых шаблонов на стороне клиента.Я думаю, что буду использовать requireJS и jQuery на стороне клиента, но пока не решил.Теперь задача, которую я должен выполнить много раз:

  • выборка шаблона (с сервера или из кэша)
  • выборка данных с сервера
  • заполнение шаблона ивставьте его в / вместо элемента

Примечание: существует множество шаблонизаторов, и мой вопрос не о шаблонизаторе, а о простом рабочем процессе.

Я должен сделать это следующим образом:

var get_data = function (tpl) {
    $.get(url, function(data) {
        $('#target_element').html(jade.render(tpl, {locals: data}));
    });
};

if (!'template_name' in _cache) {
    $.get('template_name', function(tpl) {
        _cache['template_name'] = tpl;
        get_data(tpl);
    });
}
else {
    get_data(_cache['template_name']);
}

(в этом примере шаблон и данные выбираются синхронно, что нехорошо)

Я бы хотел получитькод, подобный следующему:

render_template('template_name', 'url?arguments=values', {replace: '#element_id'});

(он похож на синтаксис MongoDB)

Существует ли простая структура или модуль jquery для этой работы?

1 Ответ

1 голос
/ 25 июня 2011

Я не уверен, что он полностью соответствует вашим требованиям, но PURE - хороший шаблонизатор для вас:

http://beebole.com/pure/

...