サーバー側では node.js、express.js と jade を使用しています。クライアント側で 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 モジュールはありますか?